Python实现将DataFrame转换为保留列名的列列表
把Pandas DataFrame转为列名对应列表的字典
嘿,这个需求其实用Pandas自带的方法就能轻松搞定,我给你两种可行的方案:
方法一:使用to_dict(orient='list')(推荐)
这是最直接的方式,Pandas的DataFrame.to_dict()方法支持多种输出格式,指定orient='list'就能得到你想要的键为列名、值为对应列列表的字典。
完整代码示例
import pandas as pd # 先构建你给出的示例DataFrame df = pd.DataFrame({ 'a': [1, 2, 3], 'b': ['xyz', 'pqr', 'mno'] }) # 执行转换 output_dict = df.to_dict(orient='list') print(output_dict)
运行后输出就是你要的格式:
{'a': [1, 2, 3], 'b': ['xyz', 'pqr', 'mno']}
方法二:手动遍历列构建字典
如果你想更灵活地控制转换过程(比如对某些列做额外处理),可以用字典推导式手动生成:
output_dict = {col: df[col].tolist() for col in df.columns}
这个写法和方法一的结果完全一致,适合需要自定义逻辑的场景。
小补充
to_dict()的orient参数还有其他可选值,比如默认的'dict'会输出嵌套字典(键是行索引,值是列对应值的字典),'series'会把值保留为Pandas Series对象,你可以根据需求调整~
内容的提问来源于stack exchange,提问作者Nightwing
相关产品推荐
相关产品推荐

