Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sortering av Matriser | Vanlig Brukte NumPy-funksjoner
Ultimate NumPy

bookSortering av Matriser

Note
Definisjon

Sortering betyr å ordne elementene i en matrise i en bestemt rekkefølge.

Denne operasjonen er svært nyttig fordi søk i en sortert matrise er mye raskere, ettersom effektive algoritmer som binærsøk kun fungerer med sorterte matriser.

numpy.sort() funksjon

NumPy har en innebygd funksjon sort() for å sortere elementer etter verdi i stigende rekkefølge. Returverdien fra denne funksjonen er en sortert NumPy-matrise. Her er den generelle syntaksen: numpy.sort(a, axis=-1, kind=None, order=None), hvor:

  • a er en matrise;
  • axis er aksen det skal sorteres langs (siste akse (-1) som standard);
  • kind er sorteringsalgoritmen som skal brukes (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()-metoden

Som allerede nevnt, returnerer funksjonen numpy.sort() en sortert tabell, men endrer ikke originalen. Hvis man ønsker å endre tabellen, må man skrive array = np.sort(array).

NumPy tilbyr imidlertid en .sort()-metode som et alternativ, som sorterer tabellen på stedet og ikke returnerer en ny tabell (den returnerer None, altså ingenting). Syntaksen er lik funksjonen sort().

Note
Merk

En funksjon er en selvstendig kodeblokk som utfører en spesifikk oppgave og kan kalles direkte. En metode er en funksjon som er tilknyttet et objekt og kalles på det objektet ved å bruke .-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

Etter å ha kalt på .sort()-metoden, ble array_1d sortert på stedet og inneholder nå elementer sortert i stigende rekkefølge.

Sortering av 1D-arrays i synkende rekkefølge

Noen ganger kan det være ønskelig å sortere et array i synkende rekkefølge. Verken .sort()-metoden eller sort()-funksjonen støtter denne funksjonaliteten direkte. Vi kan imidlertid bruke slicing med step lik -1 på et sortert 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
Oppgave

Swipe to start coding

Du administrerer et datasett med ansattes lønninger lagret i salaries-arrayet.

  1. Sorter lønningene i synkende rekkefølge ved å bruke riktig funksjon.
  2. Skriv ut de 3 høyeste lønningene ved å bruke en slice og kun angi en positiv end.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

close

Awesome!

Completion rate improved to 3.7

bookSortering av Matriser

Sveip for å vise menyen

Note
Definisjon

Sortering betyr å ordne elementene i en matrise i en bestemt rekkefølge.

Denne operasjonen er svært nyttig fordi søk i en sortert matrise er mye raskere, ettersom effektive algoritmer som binærsøk kun fungerer med sorterte matriser.

numpy.sort() funksjon

NumPy har en innebygd funksjon sort() for å sortere elementer etter verdi i stigende rekkefølge. Returverdien fra denne funksjonen er en sortert NumPy-matrise. Her er den generelle syntaksen: numpy.sort(a, axis=-1, kind=None, order=None), hvor:

  • a er en matrise;
  • axis er aksen det skal sorteres langs (siste akse (-1) som standard);
  • kind er sorteringsalgoritmen som skal brukes (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()-metoden

Som allerede nevnt, returnerer funksjonen numpy.sort() en sortert tabell, men endrer ikke originalen. Hvis man ønsker å endre tabellen, må man skrive array = np.sort(array).

NumPy tilbyr imidlertid en .sort()-metode som et alternativ, som sorterer tabellen på stedet og ikke returnerer en ny tabell (den returnerer None, altså ingenting). Syntaksen er lik funksjonen sort().

Note
Merk

En funksjon er en selvstendig kodeblokk som utfører en spesifikk oppgave og kan kalles direkte. En metode er en funksjon som er tilknyttet et objekt og kalles på det objektet ved å bruke .-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

Etter å ha kalt på .sort()-metoden, ble array_1d sortert på stedet og inneholder nå elementer sortert i stigende rekkefølge.

Sortering av 1D-arrays i synkende rekkefølge

Noen ganger kan det være ønskelig å sortere et array i synkende rekkefølge. Verken .sort()-metoden eller sort()-funksjonen støtter denne funksjonaliteten direkte. Vi kan imidlertid bruke slicing med step lik -1 på et sortert 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
Oppgave

Swipe to start coding

Du administrerer et datasett med ansattes lønninger lagret i salaries-arrayet.

  1. Sorter lønningene i synkende rekkefølge ved å bruke riktig funksjon.
  2. Skriv ut de 3 høyeste lønningene ved å bruke en slice og kun angi en positiv end.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 1
single

single

some-alt