pandas 中的每行布尔运算

问题描述 投票:0回答:1

我有一个 Pandas Dataframe(见下文)。我正在尝试找到一种快速(且简洁!)的方法来生成包含布尔值的列 d,如果相应行中的 abc 中的任何一个为 True,则为 true。 不使用for循环。我只是无法使用矢量化让它工作。 预先感谢!

我的数据框:

        a      b        c
0   False   True    False
1   False   True    False
2   False   True    False
3   False   True    False
4   False   True    False

我尝试过的:

我尝试使用any(),但如果整个框架中的任何值等于True,则计算结果为True。

我还设法使用 for 循环并在每一行上应用 any() 来获得正确的结果,但在一定数量的行之后,速度太慢了。

python pandas dataframe boolean any
1个回答
0
投票

使用

DataFrame.any

m = df.any(axis=1)

如果需要指定测试列:

m = df[['a','b','c']].any(axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.