Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sortering af Arrays | Almindeligt Anvendte NumPy-Funktioner
Ultimate NumPy

bookSortering af Arrays

Note
Definition

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:

  • a er et array;
  • axis er aksen, som der skal sorteres langs (sidste akse (-1) som standard);
  • kind er den sorteringsalgoritme, der skal bruges (quicksort som standard).
123
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
copy

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().

Note
Bemærk

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.

12345
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
copy

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:

12345
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)
copy
Opgave

Swipe to start coding

Du administrerer et datasæt med medarbejderlønninger gemt i arrayet salaries.

  1. Sortér lønningerne i faldende rækkefølge ved hjælp af den relevante funktion.
  2. Udskriv de 3 højeste lønninger ved at bruge et slice og kun angive en positiv end.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

Awesome!

Completion rate improved to 3.7

bookSortering af Arrays

Stryg for at vise menuen

Note
Definition

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:

  • a er et array;
  • axis er aksen, som der skal sorteres langs (sidste akse (-1) som standard);
  • kind er den sorteringsalgoritme, der skal bruges (quicksort som standard).
123
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
copy

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().

Note
Bemærk

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.

12345
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
copy

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:

12345
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)
copy
Opgave

Swipe to start coding

Du administrerer et datasæt med medarbejderlønninger gemt i arrayet salaries.

  1. Sortér lønningerne i faldende rækkefølge ved hjælp af den relevante funktion.
  2. Udskriv de 3 højeste lønninger ved at bruge et slice og kun angive en positiv end.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
single

single

some-alt