2016-03-07 39 views
1

从以前的文章中,我学会了如何改变一个非常快速和简单的方法在一个二维数组中的所有值数组值:操纵一个简单的方法

例如设定为小于255 X的所有值:

arr[arr < 255] = x

现在我想要做类似的事情,但不只是将值设置为x。

我想在特定的方式处理该数组中的值,当它低于阈值时。

arr[abs(arr) < threshold] = arr(*where condition is true*) - threshold*x

ARR - theshold * X不起作用,因为ARR是完整的阵列。

我认为需要使用与np.where的循环来解决这个问题,这与以前不太一样。有没有更好的方法?

回答

2

这应该是很容易扩展你已经做了什么:

x = random.rand(100) 
threshold = 0.2 
indices = abs(x) < threshold 
x[indices] = x[indices] - threshold*x[indices] 
相关问题