NumPy

Previous topic

numpy.ma.notmasked_contiguous

Next topic

numpy.ma.clump_masked

numpy.ma.notmasked_edges

numpy.ma.notmasked_edges(a, axis=None)[source]

Find the indices of the first and last unmasked values along an axis.

If all values are masked, return None. Otherwise, return a list of two tuples, corresponding to the indices of the first and last unmasked values respectively.

Parameters
aarray_like

The input array.

axisint, optional

Axis along which to perform the operation. If None (default), applies to a flattened version of the array.

Returns
edgesndarray or list

An array of start and end indexes if there are any masked data in the array. If there are no masked data in the array, edges is a list of the first and last index.

Examples

>>> a = np.arange(9).reshape((3, 3))
>>> m = np.zeros_like(a)
>>> m[1:, 1:] = 1
>>> am = np.ma.array(a, mask=m)
>>> np.array(am[~am.mask])
array([0, 1, 2, 3, 6])
>>> np.ma.notmasked_edges(am)
array([0, 6])