Heim >Backend-Entwicklung >Python-Tutorial >Wie ordne ich Elemente in einem NumPy-Array effizient ohne doppelte Sortierung?
Effizientes Array-Ranking in Python/NumPy ohne doppelte Sortierung
Bei der Datenanalyse und beim maschinellen Lernen ist das Ranking von Elementen innerhalb eines Arrays eine übliche Operation . Allerdings ist es ineffizient, das Array dazu zweimal zu sortieren, da es die Rechenkomplexität erhöht. Hier ist ein optimalerer Ansatz mit NumPy:
Um Elemente in einem Array ohne zweimaliges Umsortieren zu ordnen, befolgen Sie diese Schritte:
Zum Beispiel:
<code class="python">import numpy as np array = np.array([4, 2, 7, 1]) order = array.argsort() ranks = order.argsort() print("Original Array:", array) print("Ordering:", order) print("Ranks:", ranks)</code>
Ausgabe:
Original Array: [4 2 7 1] Ordering: [3 1 2 0] Ranks: [2 1 3 0]
As Wie Sie sehen, liefert das Ranks-Array die Rangfolge für jedes Element im ursprünglichen Array, ohne dass eine doppelte Sortierung erforderlich ist.
Beachten Sie, dass es bei 2D- oder höherdimensionalen Arrays entscheidend ist, die richtige Achse für die Sortierung anzugeben Bereitstellung eines Achsenarguments für argsort.
Das obige ist der detaillierte Inhalt vonWie ordne ich Elemente in einem NumPy-Array effizient ohne doppelte Sortierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!