Pandas将列设为索引后空行无法删除的问题求助
解决设置索引后空行的删除问题
首先,你遇到的KeyError是因为执行set_index('JSN')之后,JSN已经从普通列变成了DataFrame的索引,不再是一个列名,所以用drop(['JSN'])自然找不到对应的轴元素。
要删除那行无内容的行,咱们可以按以下步骤来操作:
1. 先定位空行的索引值
首先得明确那行的索引到底是什么(毕竟你说它甚至不是NaN),可以先打印索引看看:
print(raw_limits.index)
执行后你会看到类似这样的输出(假设空行的索引是空字符串):
Index(['USL', 'LSL', 'UTL', 'LTL', 'URL', 'LRL', 'NOMINAL', ''], dtype='object', name='JSN')
找到那个空的或者异常的索引值(比如上面的空字符串'')。
2. 针对性删除空行
根据找到的索引值,直接用drop方法删除:
# 假设空行索引是空字符串 raw_limits = raw_limits.drop('')
如果不确定具体的索引值,也可以用筛选的方式直接排除空索引的行(不管空索引是什么形式):
# 过滤掉索引为空或空白字符的行 raw_limits = raw_limits[raw_limits.index.str.strip() != '']
补充:为什么会出现这行?
大概率是你的原始DataFrame里存在一行JSN列是空值(或空白字符)的记录,当你把JSN设为索引后,这行就变成了索引为空的行,看起来像是无内容的行。
内容的提问来源于stack exchange,提问作者programmierboy
相关产品推荐
相关产品推荐

