如何将Python变量与列表转换为指定格式的Polars DataFrame?
实现方法
有两种常见方式可以实现这个需求:
方式一:动态适配列表长度(推荐)
如果你的列表mylist长度不固定,用这种方法可以自动生成对应的PARAM列名,不用硬编码:
import polars as pl myvar = 'KEY_1' mylist = ['apple', 'banana', 'peach'] # 拼接完整列名列表 column_names = ['PROD'] + [f'PARAM{i+1}' for i in range(len(mylist))] # 组合单行数据 row_data = [myvar] + mylist # 创建DataFrame df = pl.DataFrame([row_data], schema=column_names) print(df)
输出结果:
shape: (1, 4) ┌───────┬────────┬────────┬────────┐ │ PROD ┆ PARAM1 ┆ PARAM2 ┆ PARAM3 │ │ --- ┆ --- ┆ --- ┆ --- │ │ str ┆ str ┆ str ┆ str │ ╞═══════╪════════╪════════╪════════╡ │ KEY_1 ┆ apple ┆ banana ┆ peach │ └───────┴────────┴────────┴────────┘
方式二:固定列名硬编码
如果列表长度固定且不会变化,直接用字典构造更直观:
import polars as pl myvar = 'KEY_1' mylist = ['apple', 'banana', 'peach'] df = pl.DataFrame({ 'PROD': [myvar], 'PARAM1': [mylist[0]], 'PARAM2': [mylist[1]], 'PARAM3': [mylist[2]] })
两种方式最终生成的DataFrame结构完全符合你的要求。
内容的提问来源于stack exchange,提问作者lmocsi
相关产品推荐
相关产品推荐

