Was ist der eleganteste Weg, um auf ein n-dimensionales Array mit einem (n-1) dimensionalen Array entlang einer gegebenen Dimension wie im Dummy-Beispiel zuzugreifen
%Vor% Wie kann ich jetzt mit idx a
darauf zugreifen, um das Maximum in a
zu erhalten, als ob ich a.max(axis=0)
benutzt hätte? oder wie die von idx
in b
?
Ich habe über np.meshgrid
nachgedacht, aber ich denke, es ist ein Overkill. Beachten Sie, dass die Dimension axis
eine beliebige nützliche Achse (0,1,2) sein kann und nicht im Voraus bekannt ist. Gibt es einen eleganten Weg, dies zu tun?
Nutzen Sie advanced-indexing
-
Für den allgemeinen Fall:
%Vor%Ein bisschen peinlicher als solch eine natürliche Operation sollte leider sein.
Um ein n dim
-Array mit einem (n-1) dim
-Array zu indizieren, könnten wir es ein wenig vereinfachen, um uns das Raster der Indizes für alle Achsen zu geben, so wie -
Verwenden Sie es daher zum Indexieren in Eingabearrays -
%Vor%