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

Pandas如何按指定多列分组对字段值相同行的金额进行求和汇总

你之前的写法问题在于没有把四个需要匹配的字段全部传入groupby的分组列表,也没有指定仅对金额字段做聚合,所以会出现其余列丢失、匹配规则不符合要求的问题。

正确实现代码如下:

# 请将代码中的「Amount」替换为你数据表中实际的金额列名
result = df.groupby(['Name', 'Product ID', 'State', 'Type'], as_index=False)['Amount'].sum()

参数说明:

  • 传入groupby的四个列名即为需要匹配取值的分组维度,只有四个字段取值完全一致的行才会被分到同一组做聚合
  • as_index=False参数用于避免将分组字段转为行索引,保证输出结果的列结构和你预期的汇总表一致
  • 末尾指定['Amount'].sum()即仅对金额列做求和运算,不会影响其余分组字段的展示

如果你的数据表中还有其他非分组字段需要保留,可以用agg方法自定义各列的聚合规则,示例如下:

result = df.groupby(['Name', 'Product ID', 'State', 'Type'], as_index=False).agg(
    Amount=('Amount', 'sum'),
    # 如需保留其他列,可参照下方写法,first代表取同组内的第一条值
    # 其他列名=('其他列名', 'first')
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:09:03