我有一个(很长) bool 数组 a
与 k
True
条目和一个 bool 数组 b
长度k
.我想得到一个 bool 数组 c
即 True
当且仅当 a
“和”b
是 True
:
import numpy
a = numpy.array([False, False, True, False, True, False])
b = numpy.array([True, False])
assert numpy.sum(a) == len(b) # guaranteed
c = numpy.zeros(len(a), dtype=bool)
idx_b = 0
for k in range(len(a)):
if a[k]:
if b[idx_b]:
c[k] = True
idx_b += 1
print(c)
[False False True False False False]
这里使用了一个循环,但我认为必须有一种更快的 bool 索引方式,但我不太明白。任何提示?
最佳答案
简单地用自身屏蔽输入数组(自屏蔽?)并分配 -
a[a] = b
如果需要在新数组中输出,请复制输入数组并对其进行屏蔽。
关于python - 逻辑与嵌套 bool 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64775065/