Recientemente apliqué esta solución para promediar cada N filas de matriz. Aunque la solución funciona en general, tuve problemas cuando se aplicó a una matriz de 7x1. He notado que el problema es al usar el -=
operador. Para dar un pequeño ejemplo:
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 salidas:
[1 1 2]
[1 1 1]
Entonces, en el caso de una matriz a -= b
produce un resultado diferente a a = a - b
. Hasta ahora pensaba que estas dos formas son exactamente iguales. ¿Cuál es la diferencia?
¿Cómo es que el método que estoy mencionando para sumar cada N filas en una matriz funciona, por ejemplo, para una matriz de 7x4 pero no para una matriz de 7x1?