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

Pandas代码触发Key Error:Int64Index不在列中,请求排查解决

问题原因分析

你的代码触发KeyError的核心原因是错误地将列值当作列名来索引DataFrame:

  • 代码中的Unique[Unique['DiffTimeMinutes']]会把DiffTimeMinutes列的取值(比如错误提示里的53、0、0)当作列名去查找,而你的DataFrame里没有这些名称的列,因此抛出KeyError。
  • 你真正想要的是基于DiffTimeMinutes > 30的条件进行判断或筛选,而非用列值去选列。
修正方案

根据你的需求,分两种场景给出修正代码:

场景1:只要存在任意一行DiffTimeMinutes >30,就显示整个DataFrame

Unique['DiffTimeMinutes'] = Unique['DiffTimeMinutes'].fillna(0).astype(int)
# 先生成布尔掩码,再用.any()判断是否有符合条件的行
if (Unique['DiffTimeMinutes'] > 30).any():
    display(Unique)

场景2:只显示DiffTimeMinutes >30的行

不需要if判断,直接用布尔索引筛选即可:

Unique['DiffTimeMinutes'] = Unique['DiffTimeMinutes'].fillna(0).astype(int)
# 筛选符合条件的行并显示
display(Unique[Unique['DiffTimeMinutes'] > 30])
额外提示
  • 建议先执行fillna(0)和类型转换,避免NaN值导致的逻辑判断异常(像你第二段代码那样先判断再处理NaN,可能会出现非预期的结果)。

内容的提问来源于stack exchange,提问作者Data Analyst Learner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:40:48