cupy.putmask#

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

Changes elements of an array inplace, based on a conditional mask and input values.

Sets a.flat[n] = values[n] for each n where mask.flat[n]==True. If values is not the same size as a and mask then it will repeat.

Parameters:
  • a (cupy.ndarray) – Target array.

  • mask (cupy.ndarray) – Boolean mask array. It has to be the same shape as a.

  • values (cupy.ndarray or scalar) – Values to put into a where mask is True. If values is smaller than a, then it will be repeated.

Examples

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

If values is smaller than a it is repeated:

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

See also

numpy.putmask()