Kursinhalt
Ultimatives Numpy
Ultimatives Numpy
Arrays Sortieren
Diese Operation ist äußerst nützlich, da das Suchen in einem sortierten Array viel schneller ist, weil effiziente Algorithmen wie binäre Suche nur mit sortierten Arrays funktionieren.
numpy.sort() Funktion
NumPy hat eine eingebaute Funktion sort()
, um Elemente nach Werten in aufsteigender Reihenfolge zu sortieren. Der Rückgabewert dieser Funktion ist ein sortiertes NumPy-Array. Hier ist die allgemeine Syntax: numpy.sort(a, axis=-1, kind=None, order=None)
, wobei:
a
ein Array ist;axis
die Achse ist, entlang der sortiert werden soll (standardmäßig die letzte Achse (-1
));kind
der zu verwendende Sortieralgorithmus ist (standardmäßigquicksort
).
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort() Methode
Wie bereits erwähnt, gibt die Funktion numpy.sort()
ein sortiertes Array zurück, ändert jedoch nicht das ursprüngliche Array. Wenn wir das Array ändern wollten, müssten wir array = np.sort(array)
schreiben.
Allerdings bietet NumPy eine .sort()
Methode als Alternative an, die das Array in-place sortiert und kein neues Array zurückgibt (sie gibt None
zurück, was bedeutet, dass sie nichts zurückgibt). Ihre Syntax ist ähnlich der sort()
Funktion.
Hinweis
Eine Funktion ist ein eigenständiger Codeblock, der eine bestimmte Aufgabe ausführt und direkt aufgerufen werden kann. Eine Methode ist eine Funktion, die mit einem Objekt verknüpft ist und auf diesem Objekt mit dem
.
Operator aufgerufen wird.
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Nach dem Aufruf der .sort()
Methode wurde array_1d
in-place sortiert und enthält nun Elemente in aufsteigender Reihenfolge.
Sortieren von 1D-Arrays in absteigender Reihenfolge
Manchmal möchten wir ein Array in absteigender Reihenfolge sortieren. Weder die .sort()
-Methode noch die sort()
-Funktion unterstützen diese Funktionalität direkt. Wir können jedoch einfach Slicing mit step
gleich -1
auf ein sortiertes Array anwenden:
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Sorting array_1d in descending order array_1d = np.sort(array_1d)[::-1] print(array_1d)
Swipe to start coding
Sie verwalten einen Datensatz von Mitarbeitergehältern, die im salaries
Array gespeichert sind.
- Sortieren Sie die Gehälter in absteigender Reihenfolge mit der entsprechenden Funktion.
- Drucken Sie die Top 3 Gehälter mit einem Slice und geben Sie nur ein positives
end
an.
Lösung
Danke für Ihr Feedback!
Arrays Sortieren
Diese Operation ist äußerst nützlich, da das Suchen in einem sortierten Array viel schneller ist, weil effiziente Algorithmen wie binäre Suche nur mit sortierten Arrays funktionieren.
numpy.sort() Funktion
NumPy hat eine eingebaute Funktion sort()
, um Elemente nach Werten in aufsteigender Reihenfolge zu sortieren. Der Rückgabewert dieser Funktion ist ein sortiertes NumPy-Array. Hier ist die allgemeine Syntax: numpy.sort(a, axis=-1, kind=None, order=None)
, wobei:
a
ein Array ist;axis
die Achse ist, entlang der sortiert werden soll (standardmäßig die letzte Achse (-1
));kind
der zu verwendende Sortieralgorithmus ist (standardmäßigquicksort
).
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort() Methode
Wie bereits erwähnt, gibt die Funktion numpy.sort()
ein sortiertes Array zurück, ändert jedoch nicht das ursprüngliche Array. Wenn wir das Array ändern wollten, müssten wir array = np.sort(array)
schreiben.
Allerdings bietet NumPy eine .sort()
Methode als Alternative an, die das Array in-place sortiert und kein neues Array zurückgibt (sie gibt None
zurück, was bedeutet, dass sie nichts zurückgibt). Ihre Syntax ist ähnlich der sort()
Funktion.
Hinweis
Eine Funktion ist ein eigenständiger Codeblock, der eine bestimmte Aufgabe ausführt und direkt aufgerufen werden kann. Eine Methode ist eine Funktion, die mit einem Objekt verknüpft ist und auf diesem Objekt mit dem
.
Operator aufgerufen wird.
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Nach dem Aufruf der .sort()
Methode wurde array_1d
in-place sortiert und enthält nun Elemente in aufsteigender Reihenfolge.
Sortieren von 1D-Arrays in absteigender Reihenfolge
Manchmal möchten wir ein Array in absteigender Reihenfolge sortieren. Weder die .sort()
-Methode noch die sort()
-Funktion unterstützen diese Funktionalität direkt. Wir können jedoch einfach Slicing mit step
gleich -1
auf ein sortiertes Array anwenden:
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Sorting array_1d in descending order array_1d = np.sort(array_1d)[::-1] print(array_1d)
Swipe to start coding
Sie verwalten einen Datensatz von Mitarbeitergehältern, die im salaries
Array gespeichert sind.
- Sortieren Sie die Gehälter in absteigender Reihenfolge mit der entsprechenden Funktion.
- Drucken Sie die Top 3 Gehälter mit einem Slice und geben Sie nur ein positives
end
an.
Lösung
Danke für Ihr Feedback!