Pandas读取Excel文件访问Class列出现属性错误、键错误问题求助
AttributeError和KeyError的共同诱因是pandas读取生成的DataFrame中不存在名为Class的列,按以下步骤排查即可解决:
- 第一步:确认文件读取方法匹配文件格式
如果你操作的是csv格式文件,不能用read_excel读取,需要替换为read_csv:
import pandas as pd # csv文件用该方法读取,xlsx/xls格式保留read_excel即可 breastcancer = pd.read_csv("breastCancer.csv")
- 第二步:打印所有列名确认实际列名
读取文件后先输出全量列名,排查是否存在大小写不符、前后带空格、列名拼写不一致的问题:
# 输出所有列的列表 print(breastcancer.columns.tolist())
从输出的列表里找到你需要的分类列的实际名称,原样使用即可,比如实际列名是小写class就写breastcancer['class'],列名前带空格就写breastcancer[' Class']。
- 第三步:表头识别异常的修复方法
如果输出的列名都是Unnamed:0、Unnamed:1这类默认命名,说明pandas没有识别到表头:- 如果表头在文件的第N行(第一行对应索引0),读取时指定
header参数即可,比如表头在第二行就写:
breastcancer = pd.read_excel("breastCancer.xlsx", header=1)- 如果文件没有自带表头,你可以手动给所有列指定名称,按列的顺序填写即可:
breastcancer = pd.read_excel("breastCancer.xlsx", names=["特征1", "特征2", "Class"]) - 如果表头在文件的第N行(第一行对应索引0),读取时指定
内容的提问来源于stack exchange,提问作者user16342430
相关产品推荐
相关产品推荐

