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 asa
andmask
then it will repeat. This gives behavior different froma[mask] = values
.Parameters: -
a : array_like
-
Target array.
-
mask : array_like
-
Boolean mask array. It has to be the same shape as
a
. -
values : array_like
-
Values to put into
a
wheremask
is True. Ifvalues
is smaller thana
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 thana
it is repeated:>>> x = np.arange(5) >>> np.putmask(x, x>1, [-33, -44]) >>> x array([ 0, 1, -33, -44, -33])
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.putmask.html