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

如何基于Pandas现有列创建JSON格式的新列?

给Pandas DataFrame新增字典列的两种实现方法

嘿,刚好做过类似的需求,给你两个简单实用的方案,轻松实现你要的效果:

方法1:逐行生成字典(直观易懂)

用apply按行处理,每一行直接转成字典就行,代码如下:

import pandas as pd

# 先构造你的示例DataFrame
df = pd.DataFrame({
    'A': [1, 4, 7, 0],
    'B': [2, 5, 8, 1],
    'C': [3, 6, 9, 2]
})

# 新增D列,每行是A、B、C列组成的字典
df['D'] = df.apply(lambda row: row.to_dict(), axis=1)

这里axis=1指定按行操作,row.to_dict()会自动把当前行的列名作为键、对应值作为值,生成你需要的字典格式。

方法2:批量生成(性能更优)

如果你的数据集比较大,推荐用to_dict('records')批量生成字典列表,再赋值给D列,比apply效率高很多:

# 只针对A、B、C列生成字典列表,然后赋值给D列
df['D'] = df[['A', 'B', 'C']].to_dict('records')

to_dict('records')会直接把指定列的所有行转换成字典组成的列表,每个元素就是一行对应的键值对,完美匹配需求。

验证结果

运行完代码后,打印df就能得到你想要的输出:

A  B  C                     D
0  1  2  3  {'A': 1, 'B': 2, 'C': 3}
1  4  5  6  {'A': 4, 'B': 5, 'C': 6}
2  7  8  9  {'A': 7, 'B': 8, 'C': 9}
3  0  1  2  {'A': 0, 'B': 1, 'C': 2}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:38:06