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

Pandas创建价格>500且车身类型为sedan的DataFrame时报TypeError错误

报错原因

这个TypeError的核心是DataFrame的price列当前为字符串(str)类型,Python不支持直接对字符串和整数做>大小比较运算。

解决步骤
  • 先验证price列的数据类型,执行如下代码确认:
    print(df['price'].dtype)
    如果输出结果为object,即可确认该列是字符串类型。
  • 将price列转换为数值类型,若列中存在无法转为数值的脏数据,可添加errors='coerce'参数将异常值转为空值NaN,转换代码如下:
    df['price'] = pd.to_numeric(df['price'], errors='coerce')
  • 类型转换完成后再运行你原来的筛选代码即可正常执行,若不需要修改原DataFrame的列类型,也可以在筛选时临时做类型转换,完整筛选代码如下:
newdd = df[(df['body-style'] == 'sedan') & (pd.to_numeric(df['price'], errors='coerce') > 500)]
可选优化

如果要排除转换后产生的空值行,可以额外添加空值过滤条件:

newdd = df[
    (df['body-style'] == 'sedan') 
    & (pd.to_numeric(df['price'], errors='coerce') > 500)
    & (pd.to_numeric(df['price'], errors='coerce').notna())
]

内容的提问来源于stack exchange,提问作者Ammar Abu Zainah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 19:54:04