gpt4 book ai didi

python - 合乎逻辑或在 Pandas 面具 list 上

转载 作者:太空宇宙 更新时间:2023-11-04 08:53:59 24 4
gpt4 key购买 nike

我有一个 bool 掩码列表,该列表是通过将不同的搜索条件应用于数据框而获得的。这是一个包含 4 个掩码的示例列表:

mask_list = [mask1, mask2, mask3, mask4]

我想找到列表中所有掩码的逻辑或。换句话说,

or_mask = mask_list[0] | mask_list[1] | mask_list[2] | mask_list[3]

对于包含任意数量掩码的列表,是否有一种紧凑的方法来完成此操作?我知道我可以编写一个 for 循环,如下所示,但是有没有更短、更 pythonic 的方法来做到这一点?

for i in range(len(mask_list)):
if i == 0:
temp_mask_or = mask_list[i]
else:
temp_mask_or = temp_mask_or | mask_list[i]

最佳答案

你可以使用减少:

or_(x,y) 表示 x|y 所以这会起作用:

from operator import or_
or_mask = reduce(or_,mask_list)

编辑:正如 JoeCondron 所建议的,您可以使用 numpy.logical_or 而不是 operator.or_ ,它给出相同的结果但速度更快。

关于python - 合乎逻辑或在 Pandas 面具 list 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32132250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com