计算pandas数据框中逐列的出现次数

Eri*_*ich 11 python pandas

我有一个pandas数据框我想计算一个数字出现在每列的列中的频率

     a   b   c   d   e
0    2   3   1   5   4
1    1   3   2   5   4
2    1   3   2   5   4
3    2   4   1   5   3
4    2   4   1   5   3
Run Code Online (Sandbox Code Playgroud)

这是我的代码不起作用

def equalsOne(x):
    x[x.columns == 1].sum()

df1.apply(equalOne(), axis = 1)
Run Code Online (Sandbox Code Playgroud)

这是所需的输出

a 2
b 0
c 3
d 0
e 0 
Run Code Online (Sandbox Code Playgroud)

Dan*_*kov 20

你可以做:

(df==1).sum()
Run Code Online (Sandbox Code Playgroud)

df==1 得到:

       a      b      c      d      e
0  False  False   True  False  False
1   True  False  False  False  False
2   True  False  False  False  False
3  False  False   True  False  False
4  False  False   True  False  False
Run Code Online (Sandbox Code Playgroud)

sum()对待False作为0True作为1.