计算熊猫行中True / False值的数量

fir*_*fly 2 dataframe python-2.7 pandas

大熊猫中是否有一种方法可以计算一列中有多少对或错条件。

例如:如果一个数据框有5列,而我想选择至少3列的行,且这些列的值> 3,那么可以不使用迭代器来做到这一点吗?因此,在下面的示例中,我将选择行b和c。

In [12]: df2
Out[12]: 
       A   B  C   D   E
    a  1   2  2   8   6
    b  3   6  5   8   8
    c  6   2  5   5   2
Run Code Online (Sandbox Code Playgroud)

YS-*_*S-L 5

你可以这样做:

df[(df > 3).sum(axis=1) >= 3]
Run Code Online (Sandbox Code Playgroud)

其中,df > 3根据条件在整个DataFrame 上返回布尔掩码,并为每一行sum(axis=1)返回该True掩码中的数字。最终,该>=3操作返回另一个可用于过滤原始DataFrame的掩码。

输出:

   A  B  C  D  E
b  3  6  5  8  8
c  6  2  5  5  2
Run Code Online (Sandbox Code Playgroud)