数据帧:
a b c d name
0 t t t t john
1 t t t f doe
2 t t f f maria
3 t f f f smith
我想计算每列中的真实数
df[["a", "b", "c", "d"]].sum()
返回Series([], dtype: float64)
我想得到
a b c d
4 3 2 1
答案 0 :(得分:3)
您可以在布尔列上使用sum。
"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