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

Python Pandas:如何从DataFrame生成值为列表的分组字典

实现按feature_id聚合tag_id生成目标字典的方法

你之前写的df.reset_index().to_dict(orient='list')逻辑有问题,这个方法是将DataFrame的每一列整体转为列表,以列名作为字典键,并不会按照feature_id做分组聚合,因此无法得到预期结果。

可以直接用pandas原生的分组聚合方法实现,代码最简洁:

# 基于你已构造好的df直接运行即可
data_dict = df.groupby('feature_id')['tag_id'].agg(list).to_dict()

运行后得到的data_dict完全匹配你的预期输出:

{1326: [2468, 2415, 2589], 1327: [2419, 2439], 1328: [2580, 2689]}

如果不想用groupby,也可以用defaultdict遍历DataFrame实现,适合习惯原生Python写法的场景:

from collections import defaultdict

data_dict = defaultdict(list)
# 遍历行,跳过索引列
for feature_id, tag_id in df.itertuples(index=False):
    data_dict[feature_id].append(tag_id)

# 如果需要返回普通dict而非defaultdict对象,加一步转换即可
data_dict = dict(data_dict)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:33:07