cupy.putmask#

cupy.putmask(a, mask, values)[source]#

根据条件掩码和输入值就地改变数组元素。

对于 mask.flat[n]==True 的每个 n,设置 a.flat[n] = values[n]。如果 values 的大小与 amask 不同,它将被重复。

参数:
  • a (cupy.ndarray) – 目标数组。

  • mask (cupy.ndarray) – 布尔掩码数组。它必须与 a 具有相同的形状。

  • values (cupy.ndarrayscalar) – 当 mask 为 True 时,要放入 a 中的值。如果 values 小于 a,它将被重复。

示例

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

如果 values 小于 a,则会被重复

>>> x = cupy.arange(6)
>>> cupy.putmask(x, x>2, cupy.array([-33, -44]))
>>> x
array([  0,   1,   2, -44, -33, -44])

另请参阅

numpy.putmask()