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

如何在另一列值相同时计算指定列的分组求和(附示例)

解决方案

没问题,这在pandas里可以轻松实现,核心是用groupby搭配transform方法——transform的作用就是把分组计算的结果"广播"回原DataFrame的每一行,正好满足你要让同一分组所有行都显示该组总和的需求。

步骤演示

首先先构造符合你描述的DataFrame(如果你的实际列名不同,替换成自己的列名即可):

import pandas as pd

data = {
    '分组': ['A', 'A', 'A', 'B', 'A', 'B'],
    '数值': [2, 1, 3, 22, 0, 8]
}
df = pd.DataFrame(data)

然后执行以下代码新增cum.sum列:

df['cum.sum'] = df.groupby('分组')['数值'].transform('sum')

最终结果

运行后得到的DataFrame就是你想要的效果:

分组  数值  cum.sum
0   A   2        6
1   A   1        6
2   A   3        6
3   B  22       31
4   A   0        6
5   B   8       31

简单解释

  • groupby('分组'):按照指定的分组列对数据进行分组
  • ['数值']:指定要计算总和的目标数值列
  • transform('sum'):对每个分组计算总和,然后将结果对应填充到原DataFrame的每一行,这样同一分组的所有行都会显示该组的求和结果。

内容的提问来源于stack exchange,提问作者Андрей Севостьянов

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:21:20