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

如何在Pandas中按客户和金属对多列分组求和?

Pandas多列分组求和解决方案

当然有,Pandas的groupby()配合sum()就是最简便高效的方法,完全不需要遍历行,天生支持多列求和,完美适配大型数据集。

核心用法

  1. 对所有数值列求和
    直接按customer和metal分组后调用sum(),Pandas会自动对分组内的所有数值型列执行求和操作:

    # 假设你的数据集存储在df变量中
    grouped_result = df.groupby(['customer', 'metal']).sum().reset_index()
    

    这里的reset_index()是把分组的键(customer和metal)从索引变回普通列,和目标输出的结构一致。

  2. 对指定列求和
    如果只需要对部分列求和,直接在groupby()后指定目标列即可:

    # 比如只对quantity和weight列求和
    grouped_result = df.groupby(['customer', 'metal'])[['quantity', 'weight']].sum().reset_index()
    

说明

这种方式是Pandas内置的向量化操作,底层用C实现,比手动遍历行快几个数量级,完全适合处理大型数据集。你担心的“多列求和”正是sum()的默认行为——它不会只处理单列,只要是数值型列都会被自动计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 03:27:05