删除空白行,报错 raise KeyError(list(np.compress(check, subset))) KeyError: ['姓名']

之前这段程序跑完后没报错,经调试发现到这一句报错

> df.dropna(subset=['姓名'],inplace=True)
意思是删除‘姓名’列 含有‘NAN’的行

思考第一步:应该是
dropna函数没使用明白,参数汇总如下

axis: default 0指行  默认为行 ,1为列

how: {‘any’, ‘all’}, default ‘any’指带缺失值的所有行;'all’指清除全是缺失值的

thresh: int,保留含有int个非空值的行

subset: 对特定的列进行缺失值删除处理

inplace: 这个很常见,True表示直接在原数据上更改

思考第2部,查看生成的excel表 发现【】列名之前有表格名称,定位不到姓名列

![](https://img2022.cnblogs.com/blog/595992/202205/595992-20220526100130433-353276048.png)

所以将表头内容清除,有类似问题的可以看看是否excel表格标题列名取不到导致的


思考第3部 ,上面的代码有问题
df = xl.parse(xl.sheet_names[-1])

源代码写的是1,实际运行过程中应该是excel表最后一个,所以将1改为【-1】

posted on 2022-05-26 10:07  平凡之测  阅读(657)  评论(0编辑  收藏  举报

导航