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

Pandas聚合简单DataFrame报错,是Bug还是环境问题?

问题解决:Pandas groupby.mean() 报错 TypeError

错误原因

你遇到的问题是因为groupby.mean()默认会尝试对所有列执行聚合操作,而你的Item列是字符串类型,无法计算均值。Pandas尝试将同组的字符串拼接(比如Fruit组的Banana、Orange、Watermelon拼接成BananaOrangeWatermelon)后转为数值,自然失败,抛出TypeError。

这不是测试覆盖的问题,而是Pandas 2.0+版本中numeric_only参数的默认行为导致的——从Pandas 2.0开始,mean()的numeric_only默认值为False,会包含非数值列;而旧版本中该参数默认会自动过滤非数值列。

解决方案

有两种简单的修复方式:

1. 指定只对数值列计算均值

在mean()中添加numeric_only=True参数,让Pandas只处理数值类型的列(这里就是Price列):

groups = supermarket.groupby("Type")
groups.mean(numeric_only=True)

2. 明确指定要聚合的列

直接针对Price列执行聚合,避免对其他列进行无效计算:

groups = supermarket.groupby("Type")
groups['Price'].mean()

两种方式都能得到预期的结果:

TypePrice
Fruit1.413333
Vegetable0.79

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 15:03:33