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

Pandas按列分组后对不同列分别应用不同聚合函数的实现方法

解决方案

你想要的分组后多列应用不同聚合函数的需求,只要在groupby后调用.agg()方法传入你写的聚合函数字典即可实现,正确写法如下:

# 基础写法,和你期望的语法逻辑完全匹配
result = df1.groupby(["A", "B"], as_index=False).agg({"C": sum ,"D": mean})

如果需要自定义聚合后的列名,避免和原始列名混淆,可以用Pandas 0.25版本后支持的命名聚合语法:

result = df1.groupby(["A", "B"], as_index=False).agg(
    C总数值 = ("C", "sum"),
    D平均值 = ("D", "mean")
)

你之前得到的输出结构不符合预期,通常是没有设置as_index=False导致分组列被转为行索引,加上该参数后分组键会作为普通列保留,最终输出结构和下图的预期效果完全一致:
预期效果示意图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:33:00