numpy.putmask#

numpy.putmask(a,mask,values)#

Changes elements of an array based on conditional and input values.

Setsa.flat[n]=values[n] for each n wheremask.flat[n]==True.

Ifvalues is not the same size asa andmask then it will repeat.This gives behavior different froma[mask]=values.

Parameters:
andarray

Target array.

maskarray_like

Boolean mask array. It has to be the same shape asa.

valuesarray_like

Values to put intoa wheremask is True. Ifvalues is smallerthana it will be repeated.

Examples

>>>importnumpyasnp>>>x=np.arange(6).reshape(2,3)>>>np.putmask(x,x>2,x**2)>>>xarray([[ 0,  1,  2],       [ 9, 16, 25]])

Ifvalues is smaller thana it is repeated:

>>>x=np.arange(5)>>>np.putmask(x,x>1,[-33,-44])>>>xarray([  0,   1, -33, -44, -33])
On this page