在pandas中选取多列作为变量时核对列名仍报KeyError如何解决
问题原因
pandas 中直接向 DataFrame 方括号索引传入多个逗号分隔的字符串时,会将传入的整体视为一个元组类型的列名进行匹配,你当前的代码相当于查找名为 ('kms_driven', 'owner', 'age', 'power', 'brand') 的单列,该列不存在,因此触发 KeyError。
解决方法
筛选多列时,需要将待选的列名放入一个列表中,再传入 DataFrame 的方括号索引,修改代码为如下格式即可:
X = bikedata[['kms_driven','owner','age','power','brand']]
如果修改后仍有报错,可以执行以下命令检查列名是否存在隐藏的空格、特殊符号等肉眼不可见的问题:
print([repr(col) for col in bikedata.columns])
核对输出的列名和你传入的列名是否完全一致即可。
内容的提问来源于stack exchange,提问作者Aditya Prakash
相关产品推荐
相关产品推荐

