logo

NumPy-Array-Sortierung | So sortieren Sie NumPy-Arrays

Das Sortieren eines Arrays ist ein sehr wichtiger Schritt bei der Datenanalyse, da es beim Ordnen der Daten hilft und die Suche und Bereinigung erleichtert.

In diesem Tutorial werden wir es lernen So sortieren Sie ein Array in NumPy . Sie können ein Array in NumPy sortieren:

  • Verwendung der Funktion np.sort()
    • Inline-Sortierung
    • Sortieren nach verschiedenen Achsen
  • Verwendung der Funktion np.argsort()
  • Verwendung der Funktion np.lexsort()

Verwenden der Funktion sort()

Die Methode sort() sortiert das Element einer bestimmten Datenstruktur (hier Array). Rufen Sie die Sortierfunktion mit dem Array-Objekt auf, um die Elemente zu sortieren.



Es gibt zwei Fälle, in denen ein Array mit der Methode sort() sortiert wird:

  • Sortieren Sie das NumPy-Array an Ort und Stelle
  • Sortieren Sie das NumPy-Array entlang der Achsen

Wir werden beide Methoden anhand eines folgenden Beispiels behandeln:

Array vor Ort sortieren

Das Sortieren eines Arrays an Ort und Stelle bedeutet, dass die ursprünglichen Array-Elemente direkt sortiert werden.

Es erstellt keine neue Array-Kopie und ist sehr speichereffizient.

Reverse-String in Java

Beispiel

Verwenden Sie die Methode sort(), um Elemente im NumPy-Array direkt zu sortieren.

Python3




# importing libraries> import> numpy as np> > a>=> np.array([>12>,>15>,>10>,>1>])> print>(>'Array before sorting'>,a)> a.sort()> print>(>'Array after sorting'>,a)>

>

>

Ausgabe:

Array before sorting [12 15 10 1] Array after sorting [ 1 10 12 15]>

Sortieren Sie das Array entlang verschiedener Achsen

Diese Methode erstellt eine sortierte Kopie des angegebenen NumPy-Arrays.

Es wird meist in einem mehrdimensionalen Array verwendet, wenn Sie entlang einer bestimmten Dimension sortieren möchten.

Beispiel

Verwenden der Methode sort() für Elemente im NumPy-Array entlang der Achse

Python3




# importing libraries> import> numpy as np> # sort along the first axis> a>=> np.array([[>12>,>15>], [>10>,>1>]])> arr1>=> np.sort(a, axis>=> 0>)> print> (>'Along first axis : '>, arr1)> # sort along the last axis> a>=> np.array([[>10>,>15>], [>12>,>1>]])> arr2>=> np.sort(a, axis>=> ->1>)> print> (>' Along first axis : '>, arr2)> a>=> np.array([[>12>,>15>], [>10>,>1>]])> arr1>=> np.sort(a, axis>=> None>)> print> (>' Along none axis : '>, arr1)>

Netzwerktopologien

>

>

Ausgabe:

Along first axis : [[10 1] [12 15]]Along first axis : [[10 15] [ 1 12]]Along none axis : [ 1 10 12 15]>

Verwendung von argsort()

argsort()-Methode ist eine indirekte Möglichkeit, das NumPy-Array entlang einer bestimmten Achse zu sortieren.

Es gibt eine zurück Reihe von Indizes das würde das ursprüngliche Array in aufsteigender Reihenfolge sortieren.

Beispiel

Verwenden von argsort() zum Sortieren von Elementen im NumPy-Array

Python3




in SQL gegossen
import> numpy as np> > # Numpy array created> a>=> np.array([>9>,>3>,>1>,>7>,>4>,>3>,>6>])> > # unsorted array print> print>(>'Original array: '>, a)> > # Sort array indices> b>=> np.argsort(a)> print>(>'Sorted indices of original array->'>, b)> > # To get sorted array using sorted indices> # c is temp array created of same len as of b> c>=> np.zeros(>len>(b), dtype>=> int>)> for> i>in> range>(>0>,>len>(b)):> >c[i]>=> a[b[i]]> print>(>'Sorted array->'>, c)>

>

>

Ausgabe:

Original array:  [9 3 1 7 4 3 6] Sorted indices of original array->[2 1 5 4 6 3 0] Sortiertes Array-> [1 3 3 4 6 7 9]>

Tastenfolge verwenden

Das Sortieren eines Arrays mithilfe einer Schlüsselfolge ermöglicht es uns, ein Array anhand mehrerer Kriterien zu sortieren.

Sie können diese Methode mit der Funktion np.lexsort() verwenden. Die Funktion lexsort() gibt ein Array von Indizes zurück, das das ursprüngliche Array sortieren würde.

Beispiel

Erhalten Sie eine stabile Sortierung mithilfe einer Schlüsselfolge.

Python3




import> numpy as np> > # Numpy array created> # First column> a>=> np.array([>9>,>3>,>1>,>3>,>4>,>3>,>6>])> > # Second column> b>=> np.array([>4>,>6>,>9>,>2>,>1>,>8>,>7>])> print>(>'column a, column b'>)> for> (i, j)>in> zip>(a, b):> >print>(i,>' '>, j)> > # Sort by a then by b> ind>=> np.lexsort((b, a))> print>(>'Sorted indices->'>, ind)>

>

>

SQL-Server-Pivot

Ausgabe:

column a, column b 9 4 3 6 1 9 3 2 4 1 3 8 6 7 Sorted indices->[2 3 1 5 4 6 0]>

Überprüfen Sie auch: Sortieren, Suchen und Zählen in NumPy

Abschluss

Das Sortieren des NumPy-Arrays erleichtert das Auffinden doppelter, maximaler und minimaler Elemente. Es handelt sich um einen wesentlichen Vorgang der Datenmanipulation, der die Arbeit mit Daten erleichtert.

In diesem Tutorial haben wir drei Methoden zum Sortieren eines Arrays in NumPy behandelt, nämlich sort(), argsort() und lexsort(). Alle diese Methoden bieten unterschiedliche Funktionalitäten zum Sortieren von ndarray in NumPy. Wir haben die Methoden in einfachen Worten anhand von Beispielen erklärt, um Ihnen ein umfassendes Verständnis des Themas zu vermitteln.