我最近應用了this解決方案來平均每N行矩陣。 雖然解決方案一般在應用於7x1陣列時遇到了問題。我注意到問題在於使用-=
操作符時。 要使一個小例子:Python中a - = b和a = a - b的區別
import numpy as np
a = np.array([1,2,3])
b = np.copy(a)
a[1:] -= a[:-1]
b[1:] = b[1:] - b[:-1]
print a
print b
,其輸出:
[1 1 2]
[1 1 1]
所以,在陣列a -= b
的情況下產生不同的結果比a = a - b
。我直到現在纔想到這兩種方式是完全一樣的。有什麼不同?
爲什麼我提到的方法是對矩陣中的每N行進行求和,對於7x4矩陣而不是7x1陣列?
我更喜歡這個答覆更多目前接受的。它使用非常清晰的語言來顯示修改可變對象的效果。更重要的是,最後一段直接強調重疊意見就地修改的重要性,這應該成爲從這個問題中帶回家的教訓。 – Reti43