修复AttributeError:df['target'].value_counts()报错'numpy.int32'无该属性
解决AttributeError: 'numpy.int32' object has no attribute 'value_counts'
问题原因
df["target"].value_counts()报错是因为你调用value_counts的对象不是pandas Series,而是单个numpy.int32标量值。正常情况下df["target"]应该返回对应列的Series,出现这种情况通常有以下几种可能:
- 列名拼写错误(比如实际列名是
Target、TARGET或其他变体) - 之前的代码误将
df["target"]赋值为单个数值,覆盖了原列 - 数据集本身不存在
target列,导致索引返回了单个标量(比如df是空的或者列名不匹配)
排查与修复步骤
确认列名是否正确
先打印数据框的所有列名,检查target是否存在:print(df.columns)如果列名不一致,修正列名后再调用
value_counts,比如列名是Target就改成df["Target"].value_counts()。检查
df["target"]的类型
运行以下代码查看对象类型:print(type(df["target"]))如果输出是
<class 'numpy.int32'>,说明你之前可能误操作覆盖了该列,重新加载数据即可:df = pd.read_csv('heart-disease.csv') df["target"].value_counts()验证数据集加载情况
查看数据集前几行,确认target列存在且是正常的列:print(df.head())如果数据集确实没有
target列,需要确认文件路径和数据集本身是否正确。
内容的提问来源于stack exchange,提问作者Mike Kiptoch
相关产品推荐
相关产品推荐

