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

DataFrame分组聚合多函数调用报错:TypeError问题求助

问题原因与解决方案

这个报错是因为你使用的pandas版本低于0.25.0——在0.25.0之前的版本,agg()方法不支持直接通过关键字=(列名, 聚合函数)这种关键字参数的方式传递带别名的聚合操作。

解决方法

方法1:升级pandas

将pandas升级到0.25.0或更高版本,你的原代码就能正常运行:

pip install --upgrade pandas

方法2:适配旧版本的写法

如果无法升级pandas,可以改用以下两种兼容写法:

写法A:通过列表传递聚合操作

df = df.groupby(['Name', 'ID'])['Amount'].agg([('Average_Revenue', np.mean), ('Sum_Revenue', np.sum)])
# 如果需要扁平化列名(去掉默认的多层索引)
df = df.reset_index()
df.columns = ['Name', 'ID', 'Average_Revenue', 'Sum_Revenue']

写法B:先聚合再重命名列

# 先执行聚合,再手动修改列名
df = df.groupby(['Name', 'ID'])['Amount'].agg(['mean', 'sum'])
df.columns = ['Average_Revenue', 'Sum_Revenue']
df = df.reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:55:20