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: |
a : array_like Target array. mask : array_like Boolean mask array. It has to be the same shape as values : array_like Values to put into |
---|
>>> 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])
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.14.2/reference/generated/numpy.putmask.html