(pandas读取DataFrame列报错)raise KeyError(key) from err KeyError: (‘name‘, ‘age‘)
欢迎来到英杰社区https://bbs.csdn.net/topics/617804998
欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人
擅长.net、C++、python开发, 如果遇到技术问题,即可私聊博主,博主一对一为您解答
修改代码、商务合作:
Yan--yingjie
Yan--yingjie
Yan--yingjie
【常见模块错误】
如果出现模块错误
进入控制台输入:建议使用国内镜像源
pip install 模块名称 -i https://mirrors.aliyun.com/pypi/simple
我大致罗列了以下几种国内镜像源:
清华大学
https://pypi.tuna.tsinghua.edu.cn/simple
阿里云
https://mirrors.aliyun.com/pypi/simple/
豆瓣
https://pypi.douban.com/simple/
百度云
https://mirror.baidu.com/pypi/simple/
中科大
https://pypi.mirrors.ustc.edu.cn/simple/
华为云
https://mirrors.huaweicloud.com/repository/pypi/simple/
腾讯云
https://mirrors.cloud.tencent.com/pypi/simple/
【解决方案】
在Pandas中读取DataFrame列时遇到KeyError: ('name', 'age')
错误,通常是由于以下几个原因导致的:
列名拼写错误:可能是在引用列名时出现了拼写错误,如多余的空格、大小写不匹配等。例如,列名可能是
Name
而不是name
,或者列名中有多余的空格。列名在DataFrame中不存在:你想要访问的列名可能在DataFrame中并不存在。可以通过
df.columns
查看DataFrame中所有的列名,确保你要访问的列名确实存在。列名拼写和大小写不匹配:确保列名的拼写和大小写与数据帧中的列名完全匹配。例如,如果列名是
Name
,那么引用时也应该是Name
,而不是name
。列名分隔符周围存在额外的空格:在读取CSV文件时,列名分隔符周围可能存在额外的空格,导致列名不匹配。确保列名之间没有多余的字符,如空格。
列名未读取:在使用
read_csv
函数读取CSV文件时,可能出现列名未读取的情况。这通常是因为header
参数设置不当。确保header
设为0以从第一行读取列名。列名不一致:在某些情况下,列名可能在不同的数据源中不一致,导致在合并或连接数据时出现
KeyError
。
解决方法:
检查列名:使用
df.columns
查看DataFrame中所有的列名,确保你要访问的列名确实存在,并且拼写和大小写完全匹配。修正列名:如果发现列名拼写错误或大小写不匹配,可以手动修正列名,或者在读取数据时进行处理。例如,可以使用
df.rename(columns={'old_name': 'new_name'})
来重命名列。去除多余空格:如果列名中有多余的空格,可以使用
df.columns = df.columns.str.strip()
来去除列名中的空格。设置正确的header参数:在读取CSV文件时,确保
header
参数设置正确,以从第一行读取列名。例如,pd.read_csv('file.csv', header=0)
。