簡體   English   中英

NumPy數組過濾和修改值

[英]Numpy array filtering and modifying values

到以下數組

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]]

似乎替換而不是添加值,或將值添加到過濾器的結果中。 有人可以向我解釋其背后的原因以及這是否是預期的行為嗎? 謝謝 !!!

+==+有區別

x += 1x = x + 1

但是x =+1只是說x = +1 ,也就是說,您將x分配為正1的值。

因此,在第二種情況下,您將分配值100而不是將其相加是有意義的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM