Ich suche nach einer Möglichkeit, eine Funktion n Elemente zu der Zeit entlang einer Achse anzuwenden. ZB
%Vor% Wenn ich sum
auf die Elemente der Zeile 2 gleichzeitig anwende, bekomme ich:
Was ist sum
der ersten 2 Zeilen und der letzten 2 Zeilen.
NB: Ich habe es mit viel größeren Array zu tun, und ich muss die Funktion auf n Elemente anwenden, die ich zur Laufzeit entscheiden kann.
Die Daten erstrecken sich entlang verschiedener Achsen. ZB
%Vor%Dies ist eine Reduzierung:
%Vor%Solange Sie mit "größer" länger auf der "y" Achse meinen, können Sie verlängern:
%Vor%EDIT: Das funktioniert eigentlich auch für "größer in beiden Dimensionen":
%Vor%Ich überlasse es Ihnen, die Indizes an Ihren speziellen Fall anzupassen.
Umformen Sie die erste Achse in zwei Achsen, so dass die zweite geteilte Achse die Länge n
hat, um ein 3D-Array zu erhalten, und summieren Sie dann entlang dieser geteilten Achse wie folgt -
Es sollte ziemlich effizient sein, da das Umformen nur eine Ansicht in das Eingabe-Array erzeugt.
Beispiellauf -
%Vor%Tags und Links python numpy multidimensional-array