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
在 mask 为 True 的地方放入 a 的值.如果 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])