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

如何对含双键的Pandas DataFrame进行统计分析?

Pandas多键分组统计解决方案

需求背景

需要对Excel导入的Pandas DataFrame,按Section和Team双键组合,统计对应Bugs和Functions的总数。原始数据表结构如下:

SectionTeamBugsFunctionsmonth
Adev11Jan
Bdev22Jan
Bdesign30Feb
Adesign43Jan
Adesign43Sep
Adev43Jul
Bdev22Nov

示例统计结果:

  • (A, dev)的总Bug数(TNB)为5(1+4)
  • (A, design)的总功能数(TNF)为8(3+3)

尝试过的无效方法

使用df.value_counts()仅支持单键统计,无法满足双键组合需求;拆分原表为子表会额外增加操作步骤。

最优解决方案

直接使用Pandas原生的groupby+sum组合API,这是低时间/空间复杂度的官方解决方案,无需循环或拆分表格:

# 按Section和Team双键分组,对Bugs、Functions列求和
result = df.groupby(['Section', 'Team'])[['Bugs', 'Functions']].sum()

# 可选:重命名列名匹配需求中的TNB、TNF
result = result.rename(columns={'Bugs': 'TNB', 'Functions': 'TNF'})

print(result)

运行后输出结果:

TNB  TNF
Section Team           
A       dev      5    4
        design   8    6
B       dev      4    4
        design   3    0

补充说明

  • groupby(['Section', 'Team'])指定双键分组依据,Pandas会自动按两列的唯一组合聚合数据
  • [['Bugs', 'Functions']].sum()仅对目标列执行求和操作,避免不必要的计算开销
  • 该方案是Pandas原生优化的聚合逻辑,时间复杂度为O(n),空间复杂度远低于拆分表格的方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 09:46:40