numpy.putmask — NumPy v2.2 Manual (original) (raw)

numpy.putmask(a, mask, values)#

Changes elements of an array based on conditional 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. This gives behavior different from a[mask] = values.

Parameters:

andarray

Target array.

maskarray_like

Boolean mask array. It has to be the same shape as a.

valuesarray_like

Values to put into a where mask is True. If values is smaller than a it will be repeated.

Examples

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

If values is smaller than a it is repeated:

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