【问题标题】:Counting number of occurrences on the whole Pandas DataFrame [duplicate]计算整个 Pandas DataFrame 上的出现次数[重复]
【发布时间】:2018-07-05 10:04:57
【问题描述】:

我的数据集有这个结构

A = [A1, A2, A3, A4]
B = [B1, B2, B3]
C = [C1, C2, C3, C4, C5]

我想统计我的数据集中所有变量的出现次数,例如:

A1    3
A2    2
A3    1
...
C4    4
C5    5

我试过了

df.groupby(df.columns[0]).A.count()

但它只能逐列工作,有没有办法一次计算整个数据集的出现次数? 谢谢。

【问题讨论】:

  • 你能显示你的数据吗,使用 print(df.head(10))

标签: python pandas dataset


【解决方案1】:

你可以使用stackvalue_counts

df.stack().value_counts()
Out[1298]: 
4    2
3    2
2    2
5    1
1    1
dtype: int64

数据输入

df=pd.DataFrame({'A':[1,2,3,4],'B':[2,3,4,5]})

【讨论】:

  • 我想这正是我要找的,非常感谢
  • @ThanhNguyen yw~ 快乐编码
【解决方案2】:
pd.value_counts(df.values.ravel())

【讨论】:

    【解决方案3】:

    您可以在axis = 1 上使用applycount

    >>> df=pd.DataFrame({'A':[1,2,3,4],'B':[2,3,4,5]})
    >>> df.apply(pd.value_counts).count(axis=1)
    

    输出

    1    1
    2    2
    3    2
    4    2
    5    1
    dtype: int64
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-08
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      • 1970-01-01
      • 2016-03-19
      相关资源
      最近更新 更多