问题描述
最近在用DataFrame模块的时候使用了append方法之后,使用loc方法进行索引的时候发现程序出现问题,错误提示KeyError: ‘labels [189] not contained in axis’
问题分析
在使用df.index打印index值时,发现追加的行的index继承了之前值。此时index的值是紊乱的,进而使用正常的index值进行索引必然会出错。
解决方案
知道错误之后解决方法就十分简单了:
- 使用df.index = range(len(df)
- 或者df.reset_index(drop = True), 括号中的参数表示将原始的index舍弃
个人推荐使用第二种方法。
本文详细解析了在使用pandas DataFrame的append方法后,出现的索引紊乱问题及其实现原理。并提供了两种解决方案:一是直接设置index为range(len(df));二是使用df.reset_index(drop=True)来重置索引,避免后续使用loc方法时出现KeyError异常。
6464

被折叠的 条评论
为什么被折叠?



