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

如何用Pandas同时按多列分组并实现计数与求和?

Pandas分组同时实现计数与求和操作

当然可以通过Pandas的groupby配合agg方法一次性实现分组后的计数与求和操作,具体实现如下:

1. 创建原始DataFrame(方便复现)

import pandas as pd

df = pd.DataFrame({
    'Individual': ['A', 'A', 'A', 'A', 'B', 'B', 'B'],
    'Category': [1, 1, 1, 2, 1, 2, 2],
    'Amount': [250, 300, 500, 350, 200, 300, 450],
    'Extras': [30, 10, 8, 12, 9, 20, 15]
})

2. 分组聚合实现需求

# 按Individual和Category分组,同时执行计数与求和
result = df.groupby(['Individual', 'Category']).agg(
    Count=('Individual', 'size'),  # 统计每组的行数
    Amount=('Amount', 'sum'),      # 对Amount列求和
    Extras=('Extras', 'sum')       # 对Extras列求和
).reset_index()

print(result)

输出结果

Individual  Category  Count  Amount  Extras
0          A         1      3    1050      48
1          A         2      1     350      12
2          B         1      1     200       9
3          B         2      2     750      35

补充说明

  • size用于统计每组的总行数,若数据存在缺失值且只想统计非缺失值数量,可以改用count;
  • agg方法支持为不同列指定不同的聚合操作,格式为新列名=(原列名, 聚合函数),灵活性很强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 08:06:22