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

如何翻转pandas DataFrame导出的Python字典,得到以人员为键的结构

字典结构转换实现方案

完全可以实现该需求,以下是两种不同场景下的实现方法:

方法1:直接从DataFrame转换(推荐)

如果还未将DataFrame导出为字典,可直接通过to_dict方法的orient参数一步生成目标结构,无需二次处理:

import pandas as pd

# 构造示例DataFrame(你已完成person列设为索引的步骤可跳过前面构造部分)
data = {
    'person': ['kate', 'john'],
    'weight': [160, 170],
    'height': [200, 150],
    'skill': [100, 70]
}
df = pd.DataFrame(data).set_index('person')

# 索引首字母大写,匹配目标格式的人名写法
df.index = df.index.str.capitalize()

# 直接生成目标结构字典
target_dict = df.to_dict(orient='index')

方法2:对已生成的原始字典做结构重组

如果已经得到了以字段为顶级键的原始字典,可通过遍历重组得到目标结构:

# 你已得到的原始字典
raw_dict = {
    'weight': {'kate': '160', 'john': '170'},
    'height': {'kate': '200', 'john': '150'},
    'skill': {'kate': '100', 'john': '70'}
}

target_dict = {}
for field, person_map in raw_dict.items():
    for name, value in person_map.items():
        # 人名首字母大写,匹配目标格式
        cap_name = name.capitalize()
        if cap_name not in target_dict:
            target_dict[cap_name] = {}
        target_dict[cap_name][field] = value

两种方法最终输出的结果都和你需要的目标字典格式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:54:03