python - 如何修复“['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:“['学生姓名'] 不在索引中”
解决方案
这意味着“学生姓名”不是您的数据框的参数,当您修改数据结构时,您必须在调用参数之前执行数据迁移,因为在数据库中该参数不存在。
推荐阅读
- python - 如何检查python数据框中的日期是否在一定范围内
- azure - 使用 Azure 逻辑应用添加或修改 blob 时如何获取上传文件的文件名?
- r - 读取 csv 文件时如何解决“fmt”长度超过最大格式长度 8192 错误?
- python - 具有空白区域的 Librosa 频谱图
- javascript - ReactJS 从数组中删除项目会删除所有其他元素
- python - 有没有比使用 asyncio 的无限循环更好的方法来捕获“KeyboardInterrupt”?
- arrays - 只有两个参数的快速排序
- node.js - NodeJS 快速路由 - 仅呈现第一个请求
- npm - 如何将 NPM 包发布到具有内部可见性的 GitHub 包?
- node.js - React: import an image from my Node backend