我的数据集具有此结构
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()
但它只能逐列工作,有没有办法一次计算整个数据集的出现次数? 谢谢。
答案 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)
您可以apply
与count
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