You need to enable JavaScript to run this app. Jupyter环境下DataFrame调用drop删除首行触发KeyError的问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter环境下DataFrame调用drop删除首行触发KeyError的问题咨询

报错核心原因
  • 轴参数方向完全传错:pandas的drop方法中,axis=0对应操作对象是行,axis=1对应操作对象是列。你本意是删除行索引为0的首行,却传入了axis=1,相当于要求程序在现有列名中查找叫0的列,但你的数据集列是Riding、Filipino Population,根本不存在名为0的列,自然会抛出KeyError: '[0] not found in axis'。
  • 赋值逻辑存在冲突:当设置inplace=True时,drop方法会直接修改原DataFrame,本身没有返回值。哪怕轴参数改对了,你写的df_filipino2_clean = pop_filipino2_DF_with_percent.drop([0],axis=1,inplace=True) 这种写法,最终拿到的df_filipino2_clean也会是None,根本无法获取清洗后的数据。
正确的操作方式

根据你的使用场景选对应写法即可:

  • 直接原地修改原表,不需要保留原数据:
pop_filipino2_DF_with_percent.drop([0], axis=0, inplace=True)
  • 保留原表,生成独立的清洗后数据集:
df_filipino2_clean = pop_filipino2_DF_with_percent.drop([0], axis=0)

避坑技巧:如果记混axis对应的数字含义,可以直接用语义化参数指定操作对象,完全避免轴方向判断失误:

# 原地删除索引为0的行
pop_filipino2_DF_with_percent.drop(index=[0], inplace=True)

# 生成新的清洗表
df_filipino2_clean = pop_filipino2_DF_with_percent.drop(index=[0])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 04:06:03