2016-05-26 5 views

ответ

3

Вы можете использовать сумму в булевых столбцах.

"t" и "f" являются строки не булевыми, вы должны сначала преобразовать их в логическое значение:

In [11]: df == "t" 
Out[11]: 
     a  b  c  d name 
0 True True True True False 
1 True True True False False 
2 True True False False False 
3 True False False False False 

In [12]: (df == "t").sum() 
Out[12]: 
a  4 
b  3 
c  2 
d  1 
name 0 
dtype: int64 

на только те колонках:

In [13]: (df[["a", "b", "c", "d"]] == "t").sum() 
Out[13]: 
a 4 
b 3 
c 2 
d 1 
dtype: int64