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

Pandas如何将DataFrame多列转换为字典存入新列

实现方法

你可以直接用Pandas内置的to_dict方法按行转换指定列,再删除原列即可,完整代码如下:

import pandas as pd

# 先构造你的样例DataFrame
df = pd.DataFrame({
    'Country': ['Russia', 'Canada', 'China'],
    'Capital': ['Moscow', 'Ottawa', 'Beijing'],
    'Area': [6601670, 3855100, 3705407],
    'Population': [146171015, 38048738, 1400050000]
})

# 需要合并到Details列的列名
merge_cols = ['Capital', 'Area', 'Population']
# 生成Details字典列
df['Details'] = df[merge_cols].to_dict('records')
# 删除原有的对应列
df = df.drop(merge_cols, axis=1)

print(df)

to_dict传入参数'records'会直接将选中列的每行数据转换为键为列名、值为对应行值的字典,刚好匹配你需要的格式,运行后输出结果如下:

Country                                                                Details
0  Russia     {'Capital': 'Moscow', 'Area': 6601670, 'Population': 146171015}
1  Canada     {'Capital': 'Ottawa', 'Area': 3855100, 'Population': 38048738}
2   China    {'Capital': 'Beijing', 'Area': 3705407, 'Population': 1400050000}

注:你问题里示例输出的China行Capital字段错写为Ottawa属于笔误,上述代码生成结果为正确的Beijing

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:18:03