Di recente ho applicato questa soluzione per calcolare la media di ogni N righe di matrice. Sebbene la soluzione funzioni in generale, ho avuto problemi quando è stata applicata a un array 7x1. Ho notato che il problema è quando si utilizza l' -=
operatore. Per fare un piccolo esempio:
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
quali uscite:
[1 1 2]
[1 1 1]
Quindi, nel caso di un array, a -= b
produce un risultato diverso daa = a - b
. Fino ad ora ho pensato che questi due modi fossero esattamente gli stessi. Qual è la differenza?
Come mai il metodo che sto citando per sommare ogni N righe in una matrice funziona, ad esempio, per una matrice 7x4 ma non per un array 7x1?