Collapse mask array along axis - Numpy in Python
You can use ndarray.any
:
all_masks = np.array([[False, False, False, False, False, False], [False, False, False, False, False, False], [False, False, False, False, False, False], [False, True, False, False, True, False], [False, False, False, False, False, False], [False, True, False, False, True, False]])all_masks.any(axis=0)
Output:
array([False, True, False, False, True, False])
You could use np.logical_or.reduce
:
In [200]: all_masks = np.array([[False, False, False, False, False, False], [False, False, False, False, False, False], [False, False, False, False, False, False], [False, True, False, False, True, False], [False, False, False, False, False, False], [False, True, False, False, True, False]])In [201]: np.logical_or.reduce(all_masks, axis=0)Out[207]: array([False, True, False, False, True, False])
np.logical_or
is a ufunc, and every ufunc has a reduce method.