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

Sveip for å vise menyen

book
Sortering av Matriser

Denne operasjonen er ekstremt nyttig siden søking i en sortert array er mye raskere fordi effektive algoritmer som binærsøk fungerer kun med sorterte arrays.

numpy.sort() funksjon

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

  • a er en array;

  • axis er aksen langs hvilken det skal sorteres (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() metode

Som vi allerede har nevnt, returnerer numpy.sort() funksjonen en sortert array, men endrer ikke den opprinnelige arrayen. Hvis vi ønsket å endre arrayen, måtte vi skrive array = np.sort(array).

Imidlertid gir NumPy en .sort() metode som et alternativ, som sorterer arrayen på stedet og ikke returnerer en ny array (den returnerer None, noe som betyr at den ikke returnerer noe). Syntaksen er lik sort() funksjonen.

Merk

En funksjon er en frittstående blokk med kode som utfører en spesifikk oppgave og kan kalles direkte. En metode er en funksjon som er knyttet til 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 .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 ønsker vi å sortere en array i synkende rekkefølge. Verken .sort()-metoden eller sort()-funksjonen støtter denne funksjonaliteten direkte. Vi kan imidlertid enkelt bruke slicing med step lik -1 på en 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 den passende funksjonen.
  2. Skriv ut de 3 høyeste lønningene ved å bruke en slice og spesifisere kun 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

Spør AI

expand
ChatGPT

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

book
Sortering av Matriser

Denne operasjonen er ekstremt nyttig siden søking i en sortert array er mye raskere fordi effektive algoritmer som binærsøk fungerer kun med sorterte arrays.

numpy.sort() funksjon

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

  • a er en array;

  • axis er aksen langs hvilken det skal sorteres (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() metode

Som vi allerede har nevnt, returnerer numpy.sort() funksjonen en sortert array, men endrer ikke den opprinnelige arrayen. Hvis vi ønsket å endre arrayen, måtte vi skrive array = np.sort(array).

Imidlertid gir NumPy en .sort() metode som et alternativ, som sorterer arrayen på stedet og ikke returnerer en ny array (den returnerer None, noe som betyr at den ikke returnerer noe). Syntaksen er lik sort() funksjonen.

Merk

En funksjon er en frittstående blokk med kode som utfører en spesifikk oppgave og kan kalles direkte. En metode er en funksjon som er knyttet til 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 .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 ønsker vi å sortere en array i synkende rekkefølge. Verken .sort()-metoden eller sort()-funksjonen støtter denne funksjonaliteten direkte. Vi kan imidlertid enkelt bruke slicing med step lik -1 på en 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 den passende funksjonen.
  2. Skriv ut de 3 høyeste lønningene ved å bruke en slice og spesifisere kun 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
Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Vi beklager at noe gikk galt. Hva skjedde?
some-alt