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