Skip to main content
`Ctrl`+`K`

# numpy.ma.notmasked_edges

ma.notmasked_edges(a, axis=None)

  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:
    a array_like

      The input array.

    axis int, optional

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

  Returns:
    edges ndarray 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.

  See also

  `flatnotmasked_contiguous`, `flatnotmasked_edges`, `notmasked_contiguous`
  `clump_masked`, `clump_unmasked`

  Examples

      >>> import numpy as np
      >>> 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])