繁体   English   中英

如何组合多个 NumPy 布尔数组?

[英]How do I combine multiple NumPy boolean arrays?

我有一个二维 (2D) 数组,其中包含许多随机布尔值的一维 (1D) 数组。

import numpy as np

def random_array_of_bools():
  return np.random.choice(a=[False, True], size=5)


boolean_arrays = np.array([
  random_array_of_bools(),
  random_array_of_bools(),
  ... so on
])

假设我有三个数组:

[True, False, True, True, False]
[False, True, True, True, True]
[True, True, True, False, False]

这是我想要的结果:

[False, False, True, False, False]

如何使用 NumPy 实现这一目标?

使用minaxis=0

>>> boolean_array.min(axis=0)
array([False, False,  True, False, False])
>>> 

使用.all

import numpy as np

arr = np.array([[True, False, True, True, False],
                [False, True, True, True, True],
                [True, True, True, False, False]])


res = arr.all(0)
print(res)

输出

[False False  True False False]

尝试 numpy bitwise_and =>

out_arr = np.bitwise_and(np.bitwise_and(in_arr1, in_arr2),in_arr3) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM