numpy.putmask#
- numpy.putmask(a, mask, values)#
根据条件和输入值更改数组的元素。
对于每个
mask.flat[n]==True
的 n,设置a.flat[n] = values[n]
。如果values 的大小与a 和mask 不同,则会重复。这与
a[mask] = values
的行为不同。- 参数:
- andarray
目标数组。
- maskarray_like
布尔型掩码数组。它必须与a 的形状相同。
- valuesarray_like
要放入a 中的值,其中mask 为 True。如果values 小于a,则会重复。
示例
>>> 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])