简体   繁体   中英

count occurrences of number by column in pandas data frame

I have a pandas data frame I want to count how often a number appears in a column for each column

     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

This is my code that does not work

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

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

Here is the desired output

a 2
b 0
c 3
d 0
e 0 

You can do:

(df==1).sum()

df==1 gives:

       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

and the sum() treats False as 0 and True as 1 .

这应该可以解决问题

df1[df1 == 1].count()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM