Numpy NP.Argsort

Numpy NP.Argsort
Mit der Funktion "argsort () in Numpy können Sie eine indirekte Sortierung eines Arrays entlang einer angegebenen Achse unter Verwendung des Set -Algorithmus durchführen.

Lassen Sie uns untersuchen, wie man mit der Numpy Argsort () -Funktion arbeitet.

Numpy argsort () Funktionssyntax

Die Funktionssyntax und die Parameter sind wie im Folgenden dargestellt:

Numpy.argsort (a, axis =- 1, sort = keine, order = keine)

Parameter
Die Parameter sind nach ihren folgenden Funktionen definiert:

  1. a - bezieht sich auf das Eingabebereich.
  2. Achse - Legt entlang der Achse an, um das Eingangsarray zu sortieren. Der Wert wird auf -1 gesetzt, der den letzten Index verwendet. Stellen Sie den Parameter der Achsen auf keine ein, wenn Sie das Array verflachten möchten.
  3. Art - Gibt den Sortieralgorithmus an. Zu den akzeptablen Werten gehören "Quicksort", "Mergesort", "Heapsort" und "stabil". Standardmäßig verwendet die Funktion einen QuickSort -Sortieralgorithmus.
  4. Bestellung - definiert die Reihenfolge, nach der die Felder verglichen werden sollen.

Funktionsrückgabewert
Die Funktion gibt ein Array von Indizes des sortierten Arrays gemäß den festgelegten Parametern zurück.

Beispiel 1 - abgeflachte Array -Sortierung

Das folgende Beispiel zeigt, wie das Array abgeflacht und sortiert wird, indem der Parameter der Achse als „keine“ angegeben wird.

# Numpy importieren
Numph als NP importieren
arr = [0,1,5,3,9,6,7,4,2,8]
print ("Unorted Array:", arr)
print (f "sortiertes Array: np.Argsort (arr, axis = keine) ")

Der vorherige Code gibt ein Array mit den Indizes des sortierten Arrays zurück. Eine Beispielausgabe ist wie unten gezeigt:

Unsortiertes Array: [0, 1, 5, 3, 9, 6, 7, 4, 2, 8]
Sortiertes Array: [0 1 8 3 7 2 5 6 9 4]

Beispiel 2 - abgeflachte Array -Sortierung (verschiedene Algorithmen)

Betrachten Sie das folgende Beispiel, in dem angezeigt wird, wie ein abgeflachtes Array mit verschiedenen Sortieralgorithmen sortiert wird:

arr = [0,1,5,3,9,6,7,4,2,8]
Quick_Sort = np.argsort (arr, axis = keine, sort = 'quicksort')
merge_sort = np.argsort (arr, axis = keine, sort = 'mergesort')
heap_sort = np.argsort (arr, axis = keine, sort = 'haufensort')
stabil = np.argsort (arr, axis = keine, sort = 'haufensort')
print (f "quicksort: quick_sort \ n mergesort: merge_sort \ n heapsort: heap_sort \ n stabil: stabil")

Der vorherige Code verwendet verschiedene Sortieralgorithmen und gibt die resultierenden Array -Indizes zurück.

Das Folgende ist ein Ausgangsbeispiel:

Quicksort: [0 1 8 3 7 2 5 6 9 4]
Mergesort: [0 1 8 3 7 2 5 6 9 4]
Haufen: [0 1 8 3 7 2 5 6 9 4]
Stabil: [0 1 8 3 7 2 5 6 9 4]

Beispiel 3 - Sortieren Sie das 2D -Array entlang verschiedener Achse

Schauen wir uns ein Beispiel an, um ein 2D -Array entlang der verschiedenen Achse zu sortieren.

print (f "axis 0: np.Argsort (arr, axis = 0) ")

Das Rückgabebereich lautet wie folgt:

Achse 0: [[1 1 1]
[0 0 0]]

Um die Achse 1 zu sortieren, wenden Sie den folgenden Code an:

print (f "Achse 1: np.Argsort (arr, axis = 1) ")

Dies sollte zurückkehren zu:

Achse 1: [[2 1 0]
[2 1 0]]

Abschluss

Dieser Artikel dient als Leitfaden zur Verwendung der Funktion argsort () in Numpy, um ein Array entlang einer bestimmten Achse mit verschiedenen Algorithmen zu sortieren. Weitere Tutorials finden Sie unter Linux Hint.