【问题标题】:Value counts does not work for object columns值计数不适用于对象列
【发布时间】:2020-04-30 04:34:16
【问题描述】:

也基于此post 和此post,我尝试计算列中的频率。当我在 int64 列上运行它时:

df['value'].value_counts()

我得到了想要的结果:

10000.00   2
50         1
....

当我在对象列上运行它时:

df['text'].value_counts()

我得到错误:

AttributeError: 'DataFrame' 对象没有属性 'value_counts'

最重要的是,如果我运行:

df.groupby('text').count()

我得到错误:

ValueError: 'WHRG GEGENWERT' 的 Grouper 不是一维的

可能是什么问题?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    问题是重复的列名,这里是text,所以在选择get all dupe columns后,所以返回DataFrame而不是Series并引发错误。

    检查方式:

    print (df['text'])
    

    如果每列中的值相同,您可以删除重复项:

    df = df.loc[:, ~df.columns.duplicated()]
    

    【讨论】:

    • 是的,我在运行此命令之前选择了重复的列,现在已修复。
    • @PV8 - 重复的text 列中有相同的值?
    • 是的,我错误地复制了整列
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2020-03-21
    • 2021-05-23
    • 2021-04-28
    • 1970-01-01
    相关资源
    最近更新 更多