Reputation: 949
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
Upvotes: 12
Views: 20613
Reputation: 27559
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
.
Upvotes: 22