首页 > 解决方案 > 如何修复“['Student Name'] 不在索引中”?

问题描述

我是编程新手,我正在尝试用新的数据帧替换旧的数据帧 df,但是当我运行代码时,它显示 KeyError:“['Student Name'] not in index”。我该如何解决?

这是我的代码 import numpy as np import matplotlib.pyplot as plt import pandas as pd

df=pd.read_excel(r'C:\Users\Thep18\Desktop\Thep New.xlsx')

print('\n') df=df[['身高(cm)','体重(kg)','每日津贴','学生姓名']] print(df)

这是我的结果 Traceback(最近一次通话最后一次):

文件“”,第 1 行,在 runfile('C:/Users/Thep18/.spyder-py3/temp.py', wdir='C:/Users/Thep18/.spyder-py3')

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py”,第 786 行,运行文件 execfile(文件名,命名空间)

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py”,第 110 行,在 execfile exec(compile(f.read(), filename, 'exec'), namespace)

文件“C:/Users/Thep18/.spyder-py3/temp.py”,第20行,在df=df[['身高(cm)','体重(kg)','每天的津贴','学生姓名']]

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\frame.py”,第 2934 行,在getitem raise_missing =True 中)

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\indexing.py”,第 1354 行,在 _convert_to_indexer 中返回 self._get_listlike_indexer(obj, axis, **kwargs)[1]

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\indexing.py”,第 1161 行,在 _get_listlike_indexer raise_missing=raise_missing)

_validate_read_indexer 中的文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\indexing.py”,第 1252 行引发 KeyError(“{} 不在索引中”.format(not_found))

KeyError:“['学生姓名'] 不在索引中”

runfile('C:/Users/Thep18/.spyder-py3/temp.py', wdir='C:/Users/Thep18/.spyder-py3')

回溯(最近一次通话最后):

文件“”,第 1 行,在 runfile('C:/Users/Thep18/.spyder-py3/temp.py', wdir='C:/Users/Thep18/.spyder-py3')

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py”,第 786 行,运行文件 execfile(文件名,命名空间)

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py”,第 110 行,在 execfile exec(compile(f.read(), filename, 'exec'), namespace)

文件“C:/Users/Thep18/.spyder-py3/temp.py”,第20行,在df=df[['身高(cm)','体重(kg)','每天的津贴','学生姓名']]

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\frame.py”,第 2934 行,在getitem raise_missing =True 中)

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\indexing.py”,第 1354 行,在 _convert_to_indexer 中返回 self._get_listlike_indexer(obj, axis, **kwargs)[1]

文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\indexing.py”,第 1161 行,在 _get_listlike_indexer raise_missing=raise_missing)

_validate_read_indexer 中的文件“C:\Users\Thep18\Anaconda3\lib\site-packages\pandas\core\indexing.py”,第 1252 行引发 KeyError(“{} 不在索引中”.format(not_found))

KeyError:“['学生姓名'] 不在索引中”

标签: pythonpandasanacondaspyder

解决方案


这意味着“学生姓名”不是您的数据框的参数,当您修改数据结构时,您必须在调用参数之前执行数据迁移,因为在数据库中该参数不存在。


推荐阅读