numpy.
putmask
根据条件值和输入值更改数组元素。
集合 a.flat[n] = values[n] 对于每个n,其中 mask.flat[n]==True .
a.flat[n] = values[n]
mask.flat[n]==True
如果 values 大小与 a 和 mask 然后它会重复。这使得行为不同于 a[mask] = values .
a[mask] = values
目标阵列。
布尔掩码数组。它的形状必须和 a .
要放入的值 a 在哪里? mask 是True。如果 values 小于 a 它将被重复。
参见
place
put
take
copyto
实例
>>> 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])