Numpy数组过滤和修改值

时间:2017-11-01 08:43:58

标签: python python-3.x numpy

到以下数组

my_array = np.array([[11,12],[21,22],[31,32]])

我想在偶数值上加100,所以我写道:

my_array[my_array % 2==0]+=100
print(my_array)
[[ 11 112]
 [ 21 122]
 [ 31 132]]

哪个好。现在,如果我用另一边的加号来写它,我得到:

my_array[my_array % 2==0]=+100
print(my_array)
[[ 11 100]
 [ 21 100]
 [ 31 100]]

似乎替换而不是添加值,或者将值添加到过滤器的结果中。有人可以向我解释这背后的原因,以及这是否是预期的行为?谢谢!!!

1 个答案:

答案 0 :(得分:2)

+==+

存在差异

x += 1x = x + 1

相同

但是x =+1只是说x = +1,即您将x分配给正值的值。

因此,在第二种情况下,您需要分配值100而不是添加它。