# dask.array.ma.where

dask.array.ma.where(condition, x=None, y=None)

  Return a masked array with elements from x or y, depending on condition.

  This docstring was copied from numpy.ma.core.where.

  Some inconsistencies with the Dask version may exist.

  Note

  When only condition is provided, this function is identical to nonzero. The rest of this documentation covers only the case where all three arguments are provided.

  Parameters:
    condition array_like, bool

      Where True, yield x, otherwise yield y.

    x, y array_like, optional

      Values from which to choose. x, y and condition need to be broadcastable to some shape.

  Returns:
    out MaskedArray

      An masked array with masked elements where the condition is masked, elements from x where condition is True, and elements from y elsewhere.

  See also

  `numpy.where`

    Equivalent function in the top-level NumPy module.

  `nonzero`

    The function that is called when x and y are omitted

  Examples

      >>> import numpy as np
      >>> x = np.ma.array(np.arange(9.).reshape(3, 3), mask=[[0, 1, 0],
      ...                                                    [1, 0, 1],
      ...                                                    [0, 1, 0]])
      >>> x
      masked_array(
        data=[[0.0, --, 2.0],
              [--, 4.0, --],
              [6.0, --, 8.0]],
        mask=[[False,  True, False],
              [ True, False,  True],
              [False,  True, False]],
        fill_value=1e+20)
      >>> np.ma.where(x > 5, x, -3.1416)
      masked_array(
        data=[[-3.1416, --, -3.1416],
              [--, -3.1416, --],
              [6.0, --, 8.0]],
        mask=[[False,  True, False],
              [ True, False,  True],
              [False,  True, False]],
        fill_value=1e+20)