numpy.ma.MaskedArray.put#

方法

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

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

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

参数:
indices1-D array_like

目标索引,解释为整数.

valuesarray_like

要放置在 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)