如何在Pandas的指定列中添加列表值?附示例场景
实现方法
问题背景
给定如下DataFrame:
import pandas as pd df = pd.DataFrame({'sample': ['sample 1', 'sample 2'], 'values': [[0.2, 0.3, 0.5],[0.3, 0.3, 0.4]], 'group': [1, 0]})
以及分组列表 lst = [0, 1, 2],需要将values列中的列表元素拆分为对应分组的独立列,得到结构规整的表格。
解决方案
直接通过以下步骤实现:
- 将
values列的列表数据展开为新的DataFrame,用lst作为列名 - 合并原DataFrame的
sample、group列与展开后的列
完整代码:
import pandas as pd # 初始化数据 df = pd.DataFrame({'sample': ['sample 1', 'sample 2'], 'values': [[0.2, 0.3, 0.5],[0.3, 0.3, 0.4]], 'group': [1, 0]}) lst = [0, 1, 2] # 展开values列,生成对应分组的列 expanded_values = pd.DataFrame(df['values'].tolist(), columns=lst) # 合并列得到最终结果 final_df = pd.concat([df[['sample', 'group']], expanded_values], axis=1) # 输出结果 print(final_df)
运行结果
sample group 0 1 2 0 sample 1 1 0.2 0.3 0.5 1 sample 2 0 0.3 0.3 0.4
内容的提问来源于stack exchange,提问作者alxander21
相关产品推荐
相关产品推荐

