redimensionner avec la moyenne ou de la rebin un numpy tableau 2d

Je suis en train de ré-écrire en python un IDL fonction:

http://star.pst.qub.ac.uk/idl/REBIN.html

qui est en train de réduire par un facteur entier d'un tableau 2d en moyenne.

Par exemple:

>>> a=np.arange(24).reshape((4,6))
>>> a
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])

Je voudrais redimensionner à (2,3) en prenant la moyenne des échantillons pertinents, le résultat attendu serait:

>>> b = rebin(a, (2, 3))
>>> b
array([[  3.5,   5.5,  7.5],
       [ 15.5, 17.5,  19.5]])

c'est à dire b[0,0] = np.mean(a[:2,:2]), b[0,1] = np.mean(a[:2,2:4]) et ainsi de suite.

Je crois que je dois remodeler à 4 dimensions, tableau, puis prendre la moyenne sur la bonne tranche, mais ne pouvait pas comprendre l'algorithme. Auriez-vous une astuce?

InformationsquelleAutor Andrea Zonca | 2011-11-11