Verwendung der Integer-Array-Indizierung zum Extrahieren von Elementen basierend auf sekundären Array-Indizes
Im gegebenen Szenario besteht das Ziel darin, bestimmte Elemente aus einem abzurufen Array A unter Verwendung von Indizes, die in einem zweiten Array B angegeben sind. Anstatt sich auf np.take oder np.choose zu verlassen, besteht ein einfacherer Ansatz darin, die ganzzahlige Array-Indizierung von NumPy zu verwenden:
A[np.arange(A.shape[0]),B.ravel()]
So erreicht dieser Code das gewünschtes Ergebnis:
Dieser Ansatz ist besonders nützlich, wenn B ein 1D-Array oder eine Liste von Spaltenindizes ist. Durch das Überspringen des Reduzierungsvorgangs wird der Code noch einfacher:
A[np.arange(A.shape[0]),B]
Beispiel:
A = np.array([[0, 1], [2, 3], [4, 5]]) B = np.array([1, 0, 1]) result = A[np.arange(A.shape[0]), B] print(result) # Output: [1, 2, 5]
Das obige ist der detaillierte Inhalt vonWie extrahiere ich Elemente aus einem Array basierend auf Indizes in einem anderen Array mithilfe der Integer-Array-Indizierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!