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

Python如何将pandas DataFrame转换为指定结构的分组字典

Pandas 分组转目标字典结构解决方案

核心实现逻辑是分组后指定提取需要聚合的列,将每个分组结果转为列表后再输出为字典即可,核心代码如下:

imap = df.groupby('population')['individual'].apply(list).to_dict()

完整可运行测试示例:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame(
    [['ind1', 'north'],['ind2','south'], ['ind3', 'north'],['ind4', 'south'], ['ind5','east']],
    columns=['individual', 'population']
)

# 转换为目标格式字典
imap = df.groupby('population')['individual'].apply(list).to_dict()

# 打印验证结果
print(imap)

运行后输出完全匹配你需要的结构:

{
    "north": ["ind1", "ind3"],
    "south": ["ind2", "ind4"],
    "east": ["ind5"]
}

之前返回每个individual单独放在括号里,是因为你没有在groupby后明确指定提取individual列,也没有将分组后的序列对象转为列表,导致返回了带索引的元组结构,按上面的写法调整即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:24:02