Nic*_*mer 4 python arrays numpy
我有一个(很长)a带有k True条目的布尔数组和一个b长度为 的布尔数组k。我想得到一个布尔数组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)
Run Code Online (Sandbox Code Playgroud)
[False False True False False False]
Run Code Online (Sandbox Code Playgroud)
这里使用了一个循环,但我认为必须有一种更快的布尔索引方式,但我无法完全理解。
任何提示?
简单地用它自己屏蔽输入数组(自我屏蔽?)并分配 -
a[a] = b
Run Code Online (Sandbox Code Playgroud)
如果需要在新数组中输出,请复制输入数组并对其进行屏蔽。
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |