1.问题
想要去掉index列用行名称作为第一列,第一列名称为'Name',如下图:

输入:data_frame = data_frame.set_index('Name'),报错:KeyError: 'Name'。
2.原因
输入:data_frame.columns[0]查看第一列列名称。显示:

也就是说,列名称不是'Name',而是后面多了许多空格的'Name
'
3.解决方法
方法(1):将data_frame = data_frame.set_index('Name')改为data_frame = data_frame.set_index(data_frame.columns[0])。
方法(2):修改列名称,删除Name后面多余的空格,即:
data_frame = data_frame.rename(columns={data_frame.columns[0]: data_frame.columns[0].strip()})
data_frame = data_frame.set_index('Name')
4.最后,成功去除index列:

本文解决在使用pandas DataFrame时,尝试将行名设为'Name'列但出现KeyError的问题。通过检查列名实际包含多余空格,并提供两种解决方案:直接使用列名设置索引或修改列名去除空格。

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



