如何将Python DataFrame数据按列分组转换为指定格式字典?
将DataFrame分组转换为指定字典的实现方法
步骤1:构造示例DataFrame
先还原你提供的DataFrame结构:
import pandas as pd df = pd.DataFrame({ 'Column A': ['A', 'A', 'B', 'B', 'B', 'B'], 'Column B': ['Val 1', 'Val 2', 'Val A', 'Val B', 'Val C', 'Val D'] })
步骤2:分组聚合并转换为字典
用groupby按Column A分组,通过agg(list)将每组的Column B值聚合为列表,最后用to_dict()直接转换为目标格式的字典:
out = df.groupby('Column A')['Column B'].agg(list).to_dict()
验证结果
执行后输出的out即为你需要的格式:
print(out) # 输出:{'A': ['Val 1', 'Val 2'], 'B': ['Val A', 'Val B', 'Val C', 'Val D']}
补充说明
透视表默认使用统计类聚合函数(如求和、均值),无法直接生成包含所有原始值的列表,而groupby+agg(list)的组合可以精准实现“按Key收集所有对应值为列表”的需求。
内容的提问来源于stack exchange,提问作者Eric Chow
相关产品推荐
相关产品推荐

