上一主题

numpy.put

下一主题

numpy.fill_diagonal

numpy.putmask

numpy.putmask(a, mask, values)

基于条件和输入值更改数组的元素。

Sets a.flat[n] = values[n] for each n where mask.flat[n]==True.

如果a掩码的大小不同,则会重复。这给出与a [mask] = 不同的行为。

参数:

a:array_like

目标数组。

掩码:array_like

布尔掩码数组。它必须与a具有相同的形状。

:array_like

放入a中的掩码的值为True。如果小于a,则会重复。

也可以看看

placeputtakecopyto

例子

>>> x = np.arange(6).reshape(2, 3)
>>> np.putmask(x, x>2, x**2)
>>> x
array([[ 0,  1,  2],
       [ 9, 16, 25]])

如果小于a,则重复以下操作:

>>> x = np.arange(5)
>>> np.putmask(x, x>1, [-33, -44])
>>> x
array([  0,   1, -33, -44, -33])