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

时间:2014-11-26 03:30:37

标签: 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

这是我的代码不起作用

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

df1.apply(equalOne(), axis = 1)

这是所需的输出

a 2
b 0
c 3
d 0
e 0 

2 个答案:

答案 0 :(得分:19)

你可以这样做:

(df==1).sum()

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

sum()False视为0,将True视为1

答案 1 :(得分:4)

这应该可以解决问题

df1[df1 == 1].count()