问答 · ANSWER

pandas 的 groupby 分组聚合怎么用?

直接回答
pandas的groupby用于按类别拆分数据,并对每个分组应用聚合函数(如求和、求平均)进行统计,遵循“拆分-应用-合并”流程。

关键要点

  • groupby操作遵循“拆分-应用-合并”标准流程,先按键分组,再应用函数,最后合并结果。
  • 分组后产生GroupBy对象,它记录分组方案,调用聚合函数(如mean、sum)时才执行计算。
  • 可以按单列或多列分组,多列分组会形成多层索引。
  • 聚合函数包括sum(求和)、mean(均值)、count(非空计数)、size(分组大小)、max/min(最值)等。
  • 使用agg()函数可以一次性对多列指定不同的聚合计算。
  • 聚合的本质是将分组内的数组(多个值)转换为一个标量结果。

怎么选 / 怎么做

1. 拆分:使用 df.groupby('分组列') 创建GroupBy对象。
2. 应用:在GroupBy对象上调用聚合函数,如 .mean()、.sum()。
3. 合并:Pandas自动将各组的计算结果合并为新的Series或DataFrame。
4. 多列聚合:使用 .agg({'列名': '函数'}) 进行复杂聚合。

常见问题

groupby后常用的聚合函数有哪些?

常用函数有sum、mean、count、size、max、min等。

groupby().size()和count()有什么区别?

size统计每组总行数;count统计每组每列的非空值数量。

可以按多列分组吗?

可以,传入列名列表即可,结果会形成多层索引。

深入学

小象教研组整理 · 内容来自课程讲义与企业内训素材,仅供学习参考。