提问者:小点点

如何在python中得到两个列表中出现的同一布尔值的no


我的数据帧有

    A    B   C     D
0  True  5  True  True
1  True  6  False False
2  False 5  True  True
3  False 8  True  False
4  True  2  True  True

它应该打印当列D为真时的计数,列A和列C为真的次数。

预期产出

A:2
C:3


共1个答案

匿名用户

可以按列D筛选,因为使用Dataframe.locboolean Indexing中的boolean也可按列名称和最后一次筛选计数TrueS值Sum:

s = df.loc[df.D, ['A','C']].sum()
print (s)
A    2
C    3
dtype: int64

详细信息:

print (df.loc[df.D, ['A','C']])
       A     C
0   True  True
2  False  True
4   True  True