SciPy

numpy.place

numpy.place(arr, mask, vals)[source]

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

Similar to np.copyto(arr, vals, where=mask), the difference is that place uses the first N elements of vals, where N is the number of True values in mask, while copyto uses the elements where mask is True.

Note that extract does the exact opposite of place.

Parameters:

arr : ndarray

Array to put data into.

mask : array_like

Boolean mask array. Must have the same size as a.

vals : 1-D sequence

Values to put into a. Only the first N elements are used, where N is the number of True values in mask. If vals is smaller than N, it will be repeated, and if elements of a are to be masked, this sequence must be non-empty.

See also

copyto, put, take, extract

Examples

>>> arr = np.arange(6).reshape(2, 3)
>>> np.place(arr, arr>2, [44, 55])
>>> arr
array([[ 0,  1,  2],
       [44, 55, 44]])

Previous topic

numpy.select

Next topic

numpy.put