NumPy

Previous topic

numpy.put_along_axis

Next topic

numpy.fill_diagonal

This is documentation for an old release of NumPy (version 1.18). Read this page in the documentation of the latest stable release (version 2.2).

numpy.putmask

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
aarray_like

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.

See also

place, put, take, copyto

Examples

>>>
>>> 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])