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

Pandas分组聚合求和后保留指定列Group的实现方法

解决方法

针对你的需求,有两种简单的实现方式,结合你的数据集特点(每个Name对应的Group是唯一固定的),推荐第一种更直接的方法:

方法一:同时按Name和Group分组求和

因为你的数据里每个用户的Group不会随记录变化,所以可以直接把Name和Group一起作为分组键,求和后自然就能保留Group列,代码如下:

agg = df.groupby(['Name', 'Group'], as_index=False)['Asset'].sum()

运行后得到的结果完全符合你的期望:

NameAssetGroup
Anton20Admin
Brad25Planer
Kevin55Admin
Peter30Planer
David10AT

方法二:先聚合再合并(适配复杂场景)

如果后续数据可能出现同一个Name对应不同Group的情况(当前数据集不存在这种情况),可以拆分步骤处理:先单独聚合Asset求和,再提取Name与Group的唯一映射关系,最后合并两个结果:

# 1. 聚合Asset的总和
agg_asset = df.groupby('Name', as_index=False)['Asset'].sum()
# 2. 获取Name和Group的唯一对应关系
name_group_map = df[['Name', 'Group']].drop_duplicates()
# 3. 合并两个结果表
final_df = agg_asset.merge(name_group_map, on='Name')

这个方法更灵活,能应对数据结构变化的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:08:39