- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 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/
我正在尝试在图像上绘制蒙版,蒙版是 body-pix (在 NodeJS 中)完成的处理的结果。出于性能原因,我想使用 OpenCV 来绘制蒙版,而不是 htmlcanva。 const se
在我的数据框中,我想用 nan 替换低于 1 和高于 5 的每个值。 此代码有效 persDf = persDf.mask(persDf 5)) 我不知道为什么会这样。我已经检查了手册页和关于明显类
我正在使用 Explaining and Harnessing Adversarial Examples 中的 FGSM 方法实现对抗性训练使用自定义损失函数: 使用自定义损失函数在 tf.keras
我有以下功能: def delta(r, dr): res = np.zeros(r.shape) mask1 = (r >= 0.5*dr) & (r = 0.5*dr) & (r <=
我有一个给定的数据框,我希望每一行都能够选择高于该行给定百分位数的值。 让我们考虑这个数据框: df = pd.DataFrame({'A' : [5,6,3,4, 0,5,9], 'B' : [1,
目前遇到一个技术问题,想改进之前的实现,情况是: 我有 5 个 GPIO 引脚,我需要使用这些引脚作为硬件标识符,例如: pin1: LOW pin2: LOW pin3: LOW pin4: LOW
我有一个字典,其中包含多个 pandas 掩码作为特定数据帧的字符串,但我找不到使用这些掩码的方法。 这是一个简短的可重现示例: df = pd.DataFrame({'age' : [10, 24,
我有一个 bool 掩码列表,该列表是通过将不同的搜索条件应用于数据框而获得的。这是一个包含 4 个掩码的示例列表: mask_list = [mask1, mask2, mask3, mask4]
我在 pandas 掩码子集上执行了一项任务: pdxy = pd.DataFrame(data,columns=['X','Y','C','CC']) mask = pdxy[:]['Y']==8
所以我有一个输入,默认情况下我希望它的值为 0.00。很简单。 当用户开始输入时,我想从右边开始填充。所以当他们输入“5”时,输入将显示“0.05”。然后他们输入一个零,输入变为“0.50”,依此类推
我是一名优秀的程序员,十分优秀!