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

Pandas中groupby按Make列求均值报错TypeError,求解决方法

问题原因及解决方法

报错的核心原因是你要计算均值的列(Price或Odometer)的数据类型为object(字符串类型),而均值计算仅支持数值型(整数/浮点型)数据,所以触发了类型错误。

视频课程里代码能正常运行,是因为课程中的数据集里,数值列被正确识别为数值类型,而你的数据可能存在以下情况:

  • 创建DataFrame时,数值被误存为字符串(比如Price列的数值带引号)
  • 读取原始数据集时,pandas默认将数值列识别为object类型
  • 数值列包含非数字字符(比如价格带$符号、里程带单位)

解决步骤

  1. 先检查各列的数据类型,确认问题:
car_sales.dtypes

如果Price或Odometer的类型显示为object,就说明是这个问题。

  1. 将object类型的数值列转换为整数/浮点型:
  • 如果是单纯的字符串形式数字,直接转换:
car_sales['Price'] = car_sales['Price'].astype(int)
car_sales['Odometer'] = car_sales['Odometer'].astype(int)
  • 如果数值带非数字符号(比如$),先清理再转换:
# 示例:去掉Price列的$符号再转类型
car_sales['Price'] = car_sales['Price'].str.replace('$', '').astype(int)
  1. 重新运行分组求均值的代码:
car_sales.groupby(['Make']).mean()

内容的提问来源于stack exchange,提问作者Tanvir Ahmad Hashmi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:24:56