Heim >Backend-Entwicklung >Python-Tutorial >Wie indiziert man ein NumPy-Array durch ein anderes: Erweiterte Indizierung vs. lineare Indizierung?
Indizieren eines Arrays nach einem anderen in NumPy
Im wissenschaftlichen Rechnen ist die Bearbeitung mehrdimensionaler Arrays eine häufige Aufgabe. Die erweiterten Indizierungsfunktionen von NumPy stellen ein leistungsstarkes Tool für komplexe Indizierungsvorgänge dar und erleichtern das Extrahieren von Daten aus einem Array basierend auf Indexwerten, die in einem anderen Array gespeichert sind.
Stellen Sie sich eine Matrix A mit beliebigen Werten vor und eine Matrix B, die Indizes der Elemente in A enthält. Die Aufgabe besteht darin, Werte aus A auszuwählen, auf die B zeigt, was zu einer Matrix C führt.
Ein Ansatz, dies zu erreichen, ist NumPy erweiterte Indizierung:
C = A[np.arange(A.shape[0])[:, None], B]
Dieser Ansatz funktioniert effizient auf großen Arrays, ohne dass Schleifen erforderlich sind.
Die lineare Indizierung bietet eine weitere Methode für diesen Vorgang:
m, n = A.shape C = np.take(A, B + n * np.arange(m)[:, None])
Sowohl die erweiterte Indizierung als auch die lineare Indizierung bieten effiziente Methoden, um in NumPy ein Array nach einem anderen zu indizieren .
Das obige ist der detaillierte Inhalt vonWie indiziert man ein NumPy-Array durch ein anderes: Erweiterte Indizierung vs. lineare Indizierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!