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 count the number of duplicate rows by counting True in pandas. Series obtained with duplicated() . The number of True can be counted with sum() method. If you want to count the number of False (= the number of non-duplicate rows), you can invert it with negation ~ and then count True with sum() .
You can use the nunique() function to count the number of unique values in a pandas DataFrame.
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.
This should do the trick
df1[df1 == 1].count()
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With