Index n-dimensionales Array mit (n-1) d-Array

8

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 ?

angegebenen Werte abgerufen werden

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?

    
2006pmach 07.09.2017, 18:37
quelle

1 Antwort

6

Nutzen Sie advanced-indexing -

%Vor%

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 -

%Vor%

Verwenden Sie es daher zum Indexieren in Eingabearrays -

%Vor%     
Divakar 07.09.2017, 18:43
quelle

Tags und Links