Sortieren von Arrays
Sortieren bedeutet, die Elemente eines Arrays in eine bestimmte Reihenfolge zu bringen.
Diese Operation ist äußerst nützlich, da das Suchen in einem sortierten Array deutlich schneller ist, weil effiziente Algorithmen wie die binäre Suche nur mit sortierten Arrays funktionieren.
numpy.sort() Funktion
NumPy verfügt über eine eingebaute Funktion sort(), um Elemente nach ihren Werten in aufsteigender Reihenfolge zu sortieren. Der Rückgabewert dieser Funktion ist ein sortiertes NumPy-Array. Die allgemeine Syntax lautet: numpy.sort(a, axis=-1, kind=None, order=None), wobei:
aein Array ist;axisdie Achse angibt, entlang der sortiert werden soll (standardmäßig die letzte Achse (-1));kindden zu verwendenden Sortieralgorithmus bestimmt (standardmäßigquicksort).
123import 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, verändert jedoch nicht das ursprüngliche Array. Möchte man das Array verändern, muss man array = np.sort(array) schreiben.
Allerdings stellt NumPy alternativ eine .sort()-Methode zur Verfügung, die das Array in-place sortiert und kein neues Array zurückgibt (sie gibt None zurück, was bedeutet, dass nichts zurückgegeben wird). Die Syntax ist ähnlich zur sort()-Funktion.
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.
12345import 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 die Elemente in aufsteigender Reihenfolge.
Sortieren von 1D-Arrays in absteigender Reihenfolge
Manchmal besteht der Wunsch, ein Array in absteigender Reihenfolge zu sortieren. Weder die .sort()-Methode noch die sort()-Funktion unterstützen diese Funktionalität direkt. Allerdings kann durch Slicing mit step gleich -1 auf ein sortiertes Array dieses Ziel einfach erreicht werden:
12345import 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, der im Array salaries gespeichert ist.
- Sortieren Sie die Gehälter in absteigender Reihenfolge mit der entsprechenden Funktion.
- Geben Sie die drei höchsten Gehälter mit einem Slice aus, wobei nur ein positives
endangegeben wird.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.7
Sortieren von Arrays
Swipe um das Menü anzuzeigen
Sortieren bedeutet, die Elemente eines Arrays in eine bestimmte Reihenfolge zu bringen.
Diese Operation ist äußerst nützlich, da das Suchen in einem sortierten Array deutlich schneller ist, weil effiziente Algorithmen wie die binäre Suche nur mit sortierten Arrays funktionieren.
numpy.sort() Funktion
NumPy verfügt über eine eingebaute Funktion sort(), um Elemente nach ihren Werten in aufsteigender Reihenfolge zu sortieren. Der Rückgabewert dieser Funktion ist ein sortiertes NumPy-Array. Die allgemeine Syntax lautet: numpy.sort(a, axis=-1, kind=None, order=None), wobei:
aein Array ist;axisdie Achse angibt, entlang der sortiert werden soll (standardmäßig die letzte Achse (-1));kindden zu verwendenden Sortieralgorithmus bestimmt (standardmäßigquicksort).
123import 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, verändert jedoch nicht das ursprüngliche Array. Möchte man das Array verändern, muss man array = np.sort(array) schreiben.
Allerdings stellt NumPy alternativ eine .sort()-Methode zur Verfügung, die das Array in-place sortiert und kein neues Array zurückgibt (sie gibt None zurück, was bedeutet, dass nichts zurückgegeben wird). Die Syntax ist ähnlich zur sort()-Funktion.
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.
12345import 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 die Elemente in aufsteigender Reihenfolge.
Sortieren von 1D-Arrays in absteigender Reihenfolge
Manchmal besteht der Wunsch, ein Array in absteigender Reihenfolge zu sortieren. Weder die .sort()-Methode noch die sort()-Funktion unterstützen diese Funktionalität direkt. Allerdings kann durch Slicing mit step gleich -1 auf ein sortiertes Array dieses Ziel einfach erreicht werden:
12345import 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, der im Array salaries gespeichert ist.
- Sortieren Sie die Gehälter in absteigender Reihenfolge mit der entsprechenden Funktion.
- Geben Sie die drei höchsten Gehälter mit einem Slice aus, wobei nur ein positives
endangegeben wird.
Lösung
Danke für Ihr Feedback!
single