numpy.ma.MaskedArray.put#

方法

ma.MaskedArray.put(indices, values, mode='raise')[源代码]#

将存储索引位置设置为相应的值。

对于 indices 中的每个 n,设置 self._data.flat[n] = values[n]。如果 valuesindices 短,则会重复。如果 values 具有一些掩码值,则会相应更新初始掩码,否则会取消掩码对应的值。

参数:
indices一维类数组

目标索引,解释为整数。

values类数组

要放置在 self._data 副本的目标索引处的值。

mode{‘raise’, ‘wrap’, ‘clip’}, 可选

指定超出范围的索引的行为方式。 ‘raise’:引发错误。 ‘wrap’:环绕。 ‘clip’:裁剪到范围。

说明

values 可以是标量或长度为 1 的数组。

示例

>>> 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)