Indizes mehrerer Maximalwerte in einem NumPy-Array abrufen
NumPy-Arrays stellen die Funktion np.argmax bereit, um den Index des maximalen Elements zu lokalisieren . Wenn Sie jedoch die Indizes von N Maximalwerten benötigen, ziehen Sie die folgenden Lösungen in Betracht:
Aktuelle NumPy-Versionen:
Für NumPy-Versionen 1.8 und höher bietet die Funktion argpartition eine effiziente Methode:
import numpy as np a = np.array([9, 4, 4, 3, 3, 9, 0, 4, 6, 0]) # Get top 4 indices n_max = 4 ind = np.argpartition(a, -n_max)[-n_max:] # Retrieve top 4 values top_max = a[ind]
Ältere NumPy Versionen:
Vor NumPy 1.8 können Sie die argsort-Funktion wie folgt verwenden:
# Get top 4 indices n_max = 4 ind = np.argsort(a)[-n_max:] # Retrieve top 4 values top_max = a[ind]
Sortieren der Indizes:
Standardmäßig gibt argpartition unsortierte Indizes zurück. Wenn Sie sortierte Indizes benötigen, verwenden Sie:
ind[np.argsort(a[ind])]
Zeitkomplexität:
Das obige ist der detaillierte Inhalt vonWie finde ich die Indizes mehrerer Maximalwerte in einem NumPy-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!