Schnelleres Ranking von Array-Elementen in Python/NumPy ohne doppelte Sortierung
Bei der Datenanalyse und beim maschinellen Lernen ist es oft notwendig, Elemente in einem zu ordnen Array basierend auf ihren Werten. Das doppelte Sortieren des Arrays für die Rangfolge kann zeitaufwändig sein.
Erster Ansatz
Eine gängige Methode wird unten beispielhaft dargestellt:
1 2 3 4 5 6 7 8 9 10 |
|
Dieser Ansatz beinhaltet zwei Sortiervorgänge, was die Komplexität erhöht.
Optimierte Lösung
Um eine doppelte Sortierung zu vermeiden, können wir die argsort()-Funktion von NumPy zweimal nutzen:
1 2 3 4 5 6 7 |
|
Erklärung
Zuerst verwenden wir argsort(), um die Reihenfolge der Array-Elemente zu ermitteln. Dann wenden wir argsort() erneut auf die resultierende Reihenfolge an, wodurch wir die Rangfolge erhalten.
Fazit
Diese optimierte Technik verbessert die Geschwindigkeit der Rangfolge von Array-Elementen erheblich unnötiges Sortieren vermeiden. Verwenden Sie für hochdimensionale Arrays das Achsenargument in argsort, um die Achse für die Sortierung anzugeben.
Das obige ist der detaillierte Inhalt vonWie ordne ich Array-Elemente in Python/NumPy effizient ohne doppelte Sortierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!