numpy.putmask#

numpy.putmask(a, mask, values)#

根據條件和輸入值更改陣列的元素。

對於每個 mask.flat[n]==True 的 n,設定 a.flat[n] = values[n]

如果 values 的大小與 amask 不同,則會重複。這會產生與 a[mask] = values 不同的行為。

參數:
andarray

目標陣列。

maskarray_like

布林遮罩陣列。它必須與 a 具有相同的形狀。

valuesarray_like

要放入 amask 為 True 的值。如果 values 小於 a,它將會重複。

另請參閱

place, put, take, copyto

範例

>>> import numpy as np
>>> x = np.arange(6).reshape(2, 3)
>>> np.putmask(x, x>2, x**2)
>>> x
array([[ 0,  1,  2],
       [ 9, 16, 25]])

如果 values 小於 a,它將會重複

>>> x = np.arange(5)
>>> np.putmask(x, x>1, [-33, -44])
>>> x
array([  0,   1, -33, -44, -33])