python - 逻辑与嵌套 bool 数组

标签 python arrays numpy

我有一个(很长) bool 数组 ak True条目和一个 bool 数组 b长度k .我想得到一个 bool 数组 cTrue当且仅当 a “和”bTrue :

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/

相关文章:

python - 如何从字符串中删除特定数字?

java - 将数组传递给方法并搜索键仅返回 else 条件

C - 将数组传递给链表的节点

java - Java中一个数组中元素之间的差异

python - numpy 中的直方图反投影如何工作?

python - 重写函数以避免 numpy.exp 中的溢出

python - 用Python编写单元测试文件

python - 将附件添加到 slack 聊天消息

python - 如何在pytorch中对数据集进行排序

信号的 Numpy 均方根 (RMS) 平滑