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

如何在DataFrame中添加字典格式的自定义汇总列?

解决方案:为DataFrame添加字典格式的汇总列

步骤1:构造初始DataFrame

先还原你提供的数据集:

import pandas as pd

data = {
    'Person': [174, 239, 557, 674, 122],
    'Analysis': [3.76, 4.10, 5.00, 2.23, 3.33],
    'Dexterity': [4.12, 3.78, 2.00, 2.40, 4.80],
    'Skills': [1.20, 3.77, 4.40, 2.80, 4.10]
}
df = pd.DataFrame(data)

步骤2:添加字典格式的汇总列

提供两种实现方式:

方式1:使用apply逐行转换(代码简洁,适合中小数据集)

通过apply遍历每行,将指定列转为字符串后生成字典:

df['new_column'] = df[['Analysis', 'Dexterity', 'Skills']].apply(
    lambda row: row.astype(str).to_dict(), axis=1
)

方式2:使用列表推导式(性能更优,适合大数据集)

直接通过遍历列值生成字典,避免apply的额外开销:

df['new_column'] = [
    {'Analysis': str(a), 'Dexterity': str(d), 'Skills': str(s)}
    for a, d, s in zip(df['Analysis'], df['Dexterity'], df['Skills'])
]

最终效果

执行上述代码后,DataFrame将变为:

PersonAnalysisDexteritySkillsnew_column
1743.764.121.20{"Analysis":"3.76", "Dexterity":"4.12", "Skills":"1.20"}
2394.103.783.77{"Analysis":"4.10", "Dexterity":"3.78", "Skills":"3.77"}
5575.002.004.40{"Analysis":"5.00", "Dexterity":"2.00", "Skills":"4.40"}
6742.232.402.80{"Analysis":"2.23", "Dexterity":"2.40", "Skills":"2.80"}
1223.334.804.10{"Analysis":"3.33", "Dexterity":"4.80", "Skills":"4.10"}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:26:27