You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas中value_counts()报错:遍历列统计值触发AttributeError问题排查

问题排查与代码修正

嘿,这个错误的根源很好找!你在循环里写的train.columns[x]拿到的是列的名称(字符串类型),而value_counts()是Pandas Series专属的统计方法——字符串对象自然没有这个属性,所以才会抛出AttributeError。

为什么会这样?

train.columns返回的是一个包含所有列名的索引对象,每个元素都是列的名字(比如"user_id"、"category"这类字符串)。你直接对这个字符串调用value_counts(),Python当然会告诉你“字符串没这方法”啦。

修正后的代码(两种可选)

方法1:直接遍历列(更简洁推荐)

for col in train.columns:
    print(f"=== 列名: {col} ===")
    print(train[col].value_counts())
    print("\n")

方法2:保留索引遍历的写法(定位到对应列的Series)

for x in range(len(train.columns)):
    col_name = train.columns[x]
    print(f"=== 列名: {col_name} ===")
    print(train[col_name].value_counts())
    print("\n")

额外小提示

如果你只是想单独查看第79列的value_counts(注意Pandas索引从0开始,第79列的索引是78),不用写循环,直接这样更高效:

# 通过位置索引取第79列
train.iloc[:, 78].value_counts()

# 或者知道列名的话直接用列名
# train['你的第79列列名'].value_counts()

内容的提问来源于stack exchange,提问作者Anesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:26:59