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

Pandas数据过滤TypeError:str与int无法比较,求问题原因

问题原因与差异分析

报错原因

错误提示 '>=' not supported between instances of 'str' and 'int' 已经明确指出问题:你用来过滤的 Year of Release 列是字符串类型,但你拿它和整数(1960、2000)做大小比较,Python 不支持字符串与整数直接进行这类运算,因此触发报错。

两段代码的核心差异

  • 正常运行的代码:df["Movie Rating"] >= 8.5
    • Movie Rating 列的数据类型是数值型(float 或 int),可以直接和浮点数 8.5 进行大小比较,逻辑合法,所以能正常执行。
  • 报错的代码:df["Year of Release"] >= 1960
    • Year of Release 列的数据类型是字符串型,无法直接与整数做大小比较,触发了类型不兼容的错误。

解决方法

先将 Year of Release 列转换为数值类型,再执行过滤:

# 转换列类型,无法转换的内容转为 NaN
df["Year of Release"] = pd.to_numeric(df["Year of Release"], errors="coerce")
# 执行过滤逻辑
result = df[(df["Year of Release"] >= 1960) & (df["Year of Release"] <= 2000)][["Movie Name","Year of Release"]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:52:01