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



我有一个二维(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]

try numpy bitwise_and =>

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

最新更新