计算整个Pandas DataFrame上的出现次数

时间:2018-01-26 02:35:52

标签: python pandas dataset

我的数据集具有此结构

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()

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

3 个答案:

答案 0 :(得分:2)

您可以stack使用value_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]})

答案 1 :(得分:1)

pd.value_counts(df.values.ravel())

答案 2 :(得分:1)

您可以applycount

一起使用axis = 1
>>> 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