durchschnittliches numpy Array, aber behalten Form

8

Ich habe ein Numpy-3-Achsen-Array, dessen Elemente dreidimensional sind. Ich möchte sie mitteln und die gleiche Form des Arrays zurückgeben. Die normale Durchschnittsfunktion entfernt die 3 Dimensionen und ersetzt sie durch den Durchschnitt (wie erwartet):

%Vor%

Ergebnis erforderlich :

%Vor%

Können Sie das elegant machen oder muss ich einfach über das Array in Python iterieren (was im Vergleich zu einer mächtigen Numpy-Funktion viel langsamer ist).

Können Sie das Argument Dtype für die Funktion np.mean vielleicht auf ein 1D-Array setzen?

Danke.

    
AJP 09.05.2012, 17:41
quelle

5 Antworten

3
%Vor%     
bossylobster 09.05.2012, 18:40
quelle
6

Ok, ACHTUNG Ich habe meine Master in der Numpyologie noch nicht, aber nur herumspielen, kam ich auf:

%Vor%     
user545424 09.05.2012 18:30
quelle
5

Haben Sie darüber nachgedacht, Rundfunk zu senden? Hier finden Sie weitere Informationen zum Thema Rundfunk, wenn Sie mit dem Konzept noch nicht vertraut sind.

Hier ist ein Beispiel mit broadcast_arrays , bedenke, dass das hier von b erzeugte broadcast_arrays nur als schreibgeschützt behandelt werden soll. Du solltest eine Kopie erstellen, wenn du darauf schreiben willst:

%Vor%     
Bi Rico 09.05.2012 21:34
quelle
1

Hier ist eine Methode, die das Erstellen von Kopien vermeidet:

%Vor%

Oder wenn Sie a nicht überschreiben möchten:

%Vor%     
kwgoodman 09.05.2012 23:25
quelle
0

Dies ist für eine beliebige Achse:

array ist das numerische Array und axis ist die Achse zum Mittelwert

%Vor%     
FraDega 08.10.2013 15:28
quelle