Collapse mask array along axis - Numpy in Python Collapse mask array along axis - Numpy in Python numpy numpy

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.