pandas中是否有办法计算列中有多少真或假条件。
例如:如果数据框有5列,并且我想选择具有至少三列且值> gt的行; 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
答案 0 :(得分:3)
你可以这样做:
df[(df > 3).sum(axis=1) >= 3]
其中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