Zugriff auf Array-Elemente mithilfe von Array-Indizes in NumPy
Die indizierten Funktionen von NumPy bieten leistungsstarke Techniken zur Datenbearbeitung, einschließlich der Möglichkeit, Elemente aus einem Array auszuwählen Verwendung von Indizes, die von einem anderen Array angegeben werden. Um dies zu erreichen:
Ansatz 1: Erweiterte Indizierung verwenden
A[np.arange(A.shape[0])[:,None] ,B]<br>
Dieser Code nutzt die erweiterte Indizierung, wobei np.arange(A.shape[0])[:,None] einen Spaltenvektor mit Indizes für jede Zeile in erstellt A. Die Kombination mit B ermöglicht die Indizierung von A entlang sowohl von Zeilen als auch von Spalten.
Ansatz 2: Lineare Indizierung
m,n = A.shape<br>np.take(A,B n*np.arange(m)[:,None])<br>
Dieser Ansatz nutzt eine lineare Indizierung, bei der jedes Element in A adressiert wird durch einen einzelnen Index. Zunächst wird ein linearer Index berechnet, indem die entsprechende Zeile von B zu einer mit np.arange generierten linearen Sequenz hinzugefügt wird. Dieser lineare Index wird dann verwendet, um Elemente aus A abzurufen.
Beispielverwendung:
Gegebene Matrix A:
array([[ 2, 4, 5, 3], [ 1, 6, 8, 9], [ 8, 7, 0, 2]])
Und Indexmatrix B :
array([[0, 0, 1, 2], [0, 3, 2, 1], [3, 2, 1, 0]])
Die Anwendung der Ansätze führt zum gewünschten Ergebnis:
array([[2, 2, 4, 5], [1, 9, 8, 6], [2, 0, 7, 8]])
Das obige ist der detaillierte Inhalt vonWie greife ich mithilfe von Indizes aus einem anderen Array auf Array-Elemente in NumPy zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!