2014-11-26 12 views
8

Mam ramki danych pandy chcę liczyć, jak często pojawia się numer w kolumnie dla każdej kolumnyzliczania wystąpień liczbę przez kolumnę w ramce danych Pandy

 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 

To jest mój kod, który nie działa

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

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

Oto pożądane wyjście

a 2 
b 0 
c 3 
d 0 
e 0 

Odpowiedz

14

można zrobić:

(df==1).sum() 

df==1 daje:

 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 

i sum() traktuje False jak 0 i True jak 1.

4

to powinno załatwić sprawę

df1[df1 == 1].count() 
Powiązane problemy