Heim > Backend-Entwicklung > Python-Tutorial > Wie extrahiere ich Elemente aus einem 2D-Array mithilfe von Indizes aus einem anderen Array?

Wie extrahiere ich Elemente aus einem 2D-Array mithilfe von Indizes aus einem anderen Array?

Mary-Kate Olsen
Freigeben: 2024-11-09 11:40:02
Original
1056 Leute haben es durchsucht

How to Extract Elements from a 2D Array Using Indices from Another Array?

NumPy-Array als Indizes für die 2. Dimension eines anderen Arrays verwenden

Um bestimmte Elemente aus einem 2D-Array basierend auf von a bereitgestellten Indizes zu extrahieren Im zweiten Array können Sie die Ganzzahl-Array-Indizierung von NumPy nutzen.

Betrachten Sie dieses Beispiel:

A = np.array([[0,1], [2,3], [4,5]])
B = np.array([[1], [0], [1]], dtype='int')
Nach dem Login kopieren

Um die folgende gewünschte Ausgabe zu erhalten:

C = np.array([[1], [2], [5]])
Nach dem Login kopieren

Sie können das verwenden Folgende Methode:

A[np.arange(A.shape[0]),B.ravel()]
Nach dem Login kopieren

So funktioniert es:

  • np.arange(A.shape[0]) erstellt ein Array mit Indizes für jede Zeile von A.
  • B.ravel() flacht B ab und entfernt alle zusätzlichen Dimensionen.
  • Das kombinierte Indexarray [np.arange(A.shape[0]),B.ravel() ] gibt die zu extrahierenden Zeilen- und Spaltenindizes in A an.

Wenn B alternativ ein 1D-Array oder eine Liste von Spaltenindizes ist, können Sie die Reduzierung mit .ravel() überspringen:

A[np.arange(A.shape[0]),B]
Nach dem Login kopieren

Diese Methode bietet einen einfachen Ansatz zum Extrahieren von Elementen aus einem 2D-Array mithilfe von Indizes, die von einem anderen Array abgeleitet sind.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Elemente aus einem 2D-Array mithilfe von Indizes aus einem anderen Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage