问答 · 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统计每组每列的非空值数量。
可以按多列分组吗?
可以,传入列名列表即可,结果会形成多层索引。