使用多特征列进行语言检测时触发KeyError的解决咨询
解决Pandas多列选取引发的KeyError问题
正确代码写法
要选取多个特征列,需要把列名放在列表中,用双层方括号包裹:
X = df[["message", "fingers", "tail"]]
错误原因解析
你之前的写法df["message", "fingers", "tail"]会被Pandas解析为一个元组('message', 'fingers', 'tail'),它会尝试在DataFrame的列中查找名称为这个元组的列——显然你的数据集中不存在这样的列,因此触发KeyError。
而使用双层方括号[[...]]时,Pandas会识别这是多列选取操作,返回包含指定列的DataFrame,符合你的需求。
额外验证步骤
如果不确定列名是否正确,可以先打印所有列名确认:
print(df.columns.tolist())
若输出中没有你指定的列名,说明存在拼写错误或该列未包含在数据集中,需要检查数据集或列名拼写。
内容的提问来源于stack exchange,提问作者harry
相关产品推荐
相关产品推荐

