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

如何对Dataframe进行分组,将指定列的重复值聚合为列表

你可以直接在groupby的聚合方法中传入自定义聚合逻辑实现需求,无需使用sum()、count()这类预设聚合函数,以下是不同需求场景的实现方式:

场景1:分组后对应值存储为列表

运行如下代码即可:

import pandas as pd
# 你的原始DataFrame
df = pd.DataFrame({
    'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'],
    'Max Speed': [380.0, 370.0, 24.0, 26.0]
})
# 分组聚合为列表
res = df.groupby('Animal', as_index=False)['Max Speed'].agg(list)

运行后res的结构:

AnimalMax Speed
Falcon[380.0, 370.0]
Parrot[24.0, 26.0]

场景2:分组后对应值存储为逗号分隔的字符串(匹配你给出的预期输出格式)

运行如下代码即可:

res = df.groupby('Animal', as_index=False)['Max Speed'].agg(lambda x: ', '.join(map(str, x)))

运行后res的结构和你给出的预期输出完全一致:

AnimalMax Speed
Falcon380.0, 370.0
Parrot24.0, 26.0

拓展:转为字典格式

如果需要最终输出为字典,在聚合后的结果后调用.to_dict()方法即可,示例:

# 生成键为Animal、值为速度列表的字典
res_dict = df.groupby('Animal')['Max Speed'].agg(list).to_dict()
# 输出结果:{'Falcon': [380.0, 370.0], 'Parrot': [24.0, 26.0]}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:24:02