Recentemente, apliquei essa solução para calcular a média de todas as N linhas da matriz. Embora a solução funcione em geral, tive problemas quando aplicada a um array 7x1. Percebi que o problema é ao usar o -=
operador. Para dar um pequeno exemplo:
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
que produz:
[1 1 2]
[1 1 1]
Portanto, no caso de um array a -= b
produz um resultado diferente de a = a - b
. Eu pensei até agora que essas duas formas são exatamente iguais. Qual é a diferença?
Por que o método que estou mencionando para somar todas as N linhas em uma matriz está funcionando, por exemplo, para uma matriz 7x4, mas não para uma matriz 7x1?