File “pandas/_libs/index.pyx“, line 111, in pandas._libs.index.IndexEngine.get_loc错误(索引)解决方法

在处理Python数据分析时遇到KeyError,排查发现可能的空缺值并非问题所在。通过检查代码和理解df.iloc的用法,发现错误源于未正确设置索引。改正索引问题后,使用iloc仍报错,最终发现是iloc中使用的索引不存在。通过调整索引,问题得到解决,强调了解和检查数据索引在解决问题中的关键作用。
摘要由CSDN通过智能技术生成

在做课堂练习的时候遇到这样,一个问题看起来好像没有明显指明错误原因。
最开始报错
但是可以看出KeyError错误,去搜索了

During handling of the above exception, another exception occurred:

找到的答案是可能存在空缺值,利用data4.to_csv()把刚从文件中读取的数据再写入文件,并没有发现空缺值。
于是针对出现错误那行的代码进行查找错误
尝试Key value相关代码
x值有输出,证明这部分代码没有问题
再尝试另一个
在这里插入图片描述
错误看不懂,嗯但是可以确定的是就是这个部分有问题。
同样的代码再别的函数里就没有问题
在这里插入图片描述
它这里读取文件居然没有设置索引,好的那我也删除索引设置(意思就是读取文件时,自动生成索引)
在这里插入图片描述在这里插入图片描述
依旧报错(我都快哭了,后面回想错误里面有一个单词一直在提示着我,但我就是眼瞎)
然后我灵机一动,把loc改成iloc
在这里插入图片描述
咦,还是报错,但是第六感告诉我这么长的错误解释,应该能找到答案
虽然没找到明确的解释,但是看着关于

df.iloc[1,1:]

的解释就是“1:”这个1是一个绝对值,好像有点懂了,这时候学长也根据本文第一张图片回复了我的问题,索引出现错误
我茅塞顿开,在报错里面不下5个“index”这个词的出现(虽然有其他后缀 ,但是index真的满屏开花)
接下来我尝试打印一下data4数据看看它长什么样
在这里插入图片描述
而另一个for循环里不报错的代码又是什么样的?
在这里插入图片描述
如此基本可以确定iloc找不到索引为1,再次修改代码
在这里插入图片描述
代码不报错了,成功提取出数据。
问题解决了。

总结:出现这个错误就是要看看自己索引是不是有问题。
看到标红不要害怕,找找有没有什么认识的单词,逐步下手。(前几天做Spark实验的时候也是各种报错,老师就跟我说过,看到虽然错误都是英文,但是最好先看懂每一个单词,然后再整句搜索查找原因。也许这样才有助于我提升修复bug的能力吧!)

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值