Promediando sobre cada n elementos de una matriz numpy


Tengo una matriz numpy. Quiero crear una nueva matriz que es el promedio sobre cada tercer elemento. Así que la nueva matriz será un tercio del tamaño que el original.

Como ejemplo:

 np.array([1,2,3,1,2,3,1,2,3])

Debe devolver el array:

 np.array([2,2,2])

¿Puede alguien sugerir una manera eficiente de hacer esto? Estoy dibujando espacios en blanco.

Author: Seanny123, 2013-04-11

1 answers

Si su matriz arr tiene una longitud divisible por 3:

np.mean(arr.reshape(-1, 3), axis=1)

Remodelar a una matriz dimensional superior y luego realizar alguna forma de operación de reducción en una de las dimensiones adicionales es un elemento básico de la programación numpy.

 47
Author: Jaime,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-11 18:39:30