如何将Pandas DataFrame转换为列名为键、列值列表为值的字典?
将Pandas DataFrame转换为指定格式字典的方法
嘿,这事儿其实用Pandas自带的方法就能轻松搞定,给你两种靠谱的实现方式:
方法1:使用to_dict(orient='list')(推荐)
这是最简洁的原生方法,直接让DataFrame输出你想要的字典结构:
首先先构造示例DataFrame(如果你已经有了可以跳过这步):
import pandas as pd df = pd.DataFrame({ 'ColA': ['AD', 'BD', 'CD', 'DD'], 'ColB': ['AC', 'BC', 'CC', 'CD'] })
然后一行代码完成转换:
mydfDict = df.to_dict(orient='list')
执行后mydfDict就会完全符合你的要求:
{'ColA': ['AD', 'BD', 'CD', 'DD'], 'ColB': ['AC', 'BC', 'CC', 'CD']}
这里的orient='list'参数是关键,它指定了字典的构造规则:列名作为键,对应列的所有值以列表形式作为值,完美匹配你的需求。
方法2:字典推导式手动构造
如果你想更灵活地控制转换过程,也可以用字典推导式遍历每一列:
mydfDict = {col: df[col].tolist() for col in df.columns}
这个方法的逻辑是循环DataFrame的每一列,把列名作为键,调用tolist()把列数据转成列表作为值,最终效果和方法1完全一致。
两种方法都能搞定,个人更推荐方法1,因为它是Pandas专门提供的API,代码更简洁易读,维护起来也更方便~
内容的提问来源于stack exchange,提问作者Fregy
相关产品推荐
相关产品推荐

