Skip to main content
`Ctrl`+`K`

# numpy.ma.masked_array.put

method

ma.masked_array.put(indices, values, mode='raise')

  Set storage-indexed locations to corresponding values.

  Sets self._data.flat[n] = values[n] for each n in indices. If values is shorter than `indices` then it will repeat. If values has some masked values, the initial mask is updated in consequence, else the corresponding values are unmasked.

  Parameters:
    indices 1-D array_like

      Target indices, interpreted as integers.

    values array_like

      Values to place in self._data copy at target indices.

    mode{‘raise’, ‘wrap’, ‘clip’}, optional

      Specifies how out-of-bounds indices will behave. ‘raise’ : raise an error. ‘wrap’ : wrap around. ‘clip’ : clip to the range.

  Notes

  values can be a scalar or length 1 array.

  Examples

      >>> import numpy as np
      >>> x = np.ma.array([[1,2,3],[4,5,6],[7,8,9]], mask=[0] + [1,0]*4)
      >>> x
      masked_array(
        data=[[1, --, 3],
              [--, 5, --],
              [7, --, 9]],
        mask=[[False,  True, False],
              [ True, False,  True],
              [False,  True, False]],
        fill_value=999999)
      >>> x.put([0,4,8],[10,20,30])
      >>> x
      masked_array(
        data=[[10, --, 3],
              [--, 20, --],
              [7, --, 30]],
        mask=[[False,  True, False],
              [ True, False,  True],
              [False,  True, False]],
        fill_value=999999)

      >>> x.put(4,999)
      >>> x
      masked_array(
        data=[[10, --, 3],
              [--, 999, --],
              [7, --, 30]],
        mask=[[False,  True, False],
              [ True, False,  True],
              [False,  True, False]],
        fill_value=999999)