You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame的每一行转换为带列名的字典列表?

将DataFrame每行转为字典组成的列表

方法一:使用pandas内置的to_dict('records')(推荐)

这是最简洁高效的方式,pandas专门提供了这个参数来生成你需要的格式。

  1. 先确保导入pandas库:
import pandas as pd
  1. 构造你的DataFrame(如果已经有现成的可以跳过这步):
data = {
    'userid': ['1', '2', '3', '4'],
    'account_holder': ['Vince', 'Joana', 'Dominique', 'James'],
    'broker': ['1090', '3055', '5143', '5522'],
    'account_id': ['807521', '272167', '37009', '905527']
}
df = pd.DataFrame(data)
  1. 执行转换:
result = df.to_dict('records')

运行后打印result,就能得到你想要的格式:

[{'userid': '1', 'account_holder': 'Vince', 'broker': '1090', 'account_id': '807521'}, {'userid': '2', 'account_holder': 'Joana', 'broker': '3055', 'account_id': '272167'}, {'userid': '3', 'account_holder': 'Dominique', 'broker': '5143', 'account_id': '37009'}, {'userid': '4', 'account_holder': 'James', 'broker': '5522', 'account_id': '905527'}]

方法二:手动循环实现(用于理解原理)

如果你想搞清楚底层逻辑,可以用iterrows()遍历每行,手动组装字典:

result = []
for _, row in df.iterrows():
    row_dict = {
        'userid': row['userid'],
        'account_holder': row['account_holder'],
        'broker': row['broker'],
        'account_id': row['account_id']
    }
    result.append(row_dict)

不过这种方式效率不如内置方法,数据量大的时候更明显,所以优先用第一种方法。

内容的提问来源于stack exchange,提问作者Goularts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:42:07