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

Pandas多列分组聚合如何同时获取分组计数与col_D均值

实现代码修改方案

你可以直接调整agg()方法的传参,同时给col_D配置均值、计数两个聚合规则即可,推荐使用pandas的命名聚合写法,生成的列名无需额外二次处理:

df.groupby(['col_A','col_B','col_C'], as_index=False).agg(
    col_D_mean = ('col_D', 'mean'),
    group_record_count = ('col_D', 'count')
)

如果你习惯保留原有的reset_index()写法,也可以用如下格式:

df.groupby(['col_A','col_B','col_C']).agg(
    col_D_mean = ('col_D', 'mean'),
    group_record_count = ('col_D', 'count')
).reset_index()

补充说明

  • 上述写法中的count聚合会排除col_D列为空的记录,如果需要统计分组的所有行数(包含col_D为空的行),可以将计数逻辑改为group_record_count = ('col_A', 'size'),size聚合会直接统计分组的总记录数,不会跳过空值。
  • 如果你不需要自定义列名,也可以用字典传列表的简化写法,不过生成的结果会带有多级列索引,需要额外做扁平化处理:
# 简化写法,返回多级列索引结果
df.groupby(['col_A','col_B','col_C']).agg({'col_D':['mean','count']}).reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:00:03