Sortering af Arrays
Sortering betyder at arrangere elementerne i et array i en bestemt rækkefølge.
Denne operation er særdeles nyttig, da søgning i et sorteret array er meget hurtigere, fordi effektive algoritmer som binær søgning kun fungerer med sorterede arrays.
numpy.sort() funktion
NumPy har en indbygget funktion sort() til at sortere elementer efter værdier i stigende rækkefølge. Returværdien af denne funktion er et sorteret NumPy array. Her er dens generelle syntaks: numpy.sort(a, axis=-1, kind=None, order=None), hvor:
aer et array;axiser aksen, som der skal sorteres langs (sidste akse (-1) som standard);kinder den sorteringsalgoritme, der skal bruges (quicksortsom standard).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort()-metode
Som tidligere nævnt returnerer funktionen numpy.sort() et sorteret array, men ændrer ikke det oprindelige array. Hvis man ønsker at ændre arrayet, skal man skrive array = np.sort(array).
Dog tilbyder NumPy en .sort()-metode som alternativ, der sorterer arrayet in-place og ikke returnerer et nyt array (den returnerer None, hvilket betyder, at den ikke returnerer noget). Syntaksen ligner funktionen sort().
En funktion er en selvstændig kodeblok, der udfører en specifik opgave og kan kaldes direkte. En metode er en funktion, der er tilknyttet et objekt og kaldes på det objekt ved hjælp af .-operatoren.
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Efter at have kaldt .sort()-metoden, blev array_1d sorteret in place og indeholder nu elementer sorteret i stigende rækkefølge.
Sortering af 1D-arrays i faldende rækkefølge
Nogle gange kan det være nødvendigt at sortere et array i faldende rækkefølge. Hverken .sort()-metoden eller sort()-funktionen understøtter denne funktionalitet direkte. Vi kan dog blot bruge slicing med step sat til -1 på et sorteret array:
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
Du administrerer et datasæt med medarbejderlønninger gemt i arrayet salaries.
- Sortér lønningerne i faldende rækkefølge ved hjælp af den relevante funktion.
- Udskriv de 3 højeste lønninger ved at bruge et slice og kun angive en positiv
end.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.7
Sortering af Arrays
Stryg for at vise menuen
Sortering betyder at arrangere elementerne i et array i en bestemt rækkefølge.
Denne operation er særdeles nyttig, da søgning i et sorteret array er meget hurtigere, fordi effektive algoritmer som binær søgning kun fungerer med sorterede arrays.
numpy.sort() funktion
NumPy har en indbygget funktion sort() til at sortere elementer efter værdier i stigende rækkefølge. Returværdien af denne funktion er et sorteret NumPy array. Her er dens generelle syntaks: numpy.sort(a, axis=-1, kind=None, order=None), hvor:
aer et array;axiser aksen, som der skal sorteres langs (sidste akse (-1) som standard);kinder den sorteringsalgoritme, der skal bruges (quicksortsom standard).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort()-metode
Som tidligere nævnt returnerer funktionen numpy.sort() et sorteret array, men ændrer ikke det oprindelige array. Hvis man ønsker at ændre arrayet, skal man skrive array = np.sort(array).
Dog tilbyder NumPy en .sort()-metode som alternativ, der sorterer arrayet in-place og ikke returnerer et nyt array (den returnerer None, hvilket betyder, at den ikke returnerer noget). Syntaksen ligner funktionen sort().
En funktion er en selvstændig kodeblok, der udfører en specifik opgave og kan kaldes direkte. En metode er en funktion, der er tilknyttet et objekt og kaldes på det objekt ved hjælp af .-operatoren.
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Efter at have kaldt .sort()-metoden, blev array_1d sorteret in place og indeholder nu elementer sorteret i stigende rækkefølge.
Sortering af 1D-arrays i faldende rækkefølge
Nogle gange kan det være nødvendigt at sortere et array i faldende rækkefølge. Hverken .sort()-metoden eller sort()-funktionen understøtter denne funktionalitet direkte. Vi kan dog blot bruge slicing med step sat til -1 på et sorteret array:
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
Du administrerer et datasæt med medarbejderlønninger gemt i arrayet salaries.
- Sortér lønningerne i faldende rækkefølge ved hjælp af den relevante funktion.
- Udskriv de 3 højeste lønninger ved at bruge et slice og kun angive en positiv
end.
Løsning
Tak for dine kommentarer!
single