Sortering av Matriser
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:
aer en matrise;axiser aksen det skal sorteres langs (siste akse (-1) som standard);kinder sorteringsalgoritmen som skal brukes (quicksortsom standard).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
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().
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.
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
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:
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 datasett med ansattes lønninger lagret i salaries-arrayet.
- Sorter lønningene i synkende rekkefølge ved å bruke riktig funksjon.
- Skriv ut de 3 høyeste lønningene ved å bruke en slice og kun angi en positiv
end.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.7
Sortering av Matriser
Sveip for å vise menyen
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:
aer en matrise;axiser aksen det skal sorteres langs (siste akse (-1) som standard);kinder sorteringsalgoritmen som skal brukes (quicksortsom standard).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
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().
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.
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
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:
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 datasett med ansattes lønninger lagret i salaries-arrayet.
- Sorter lønningene i synkende rekkefølge ved å bruke riktig funksjon.
- Skriv ut de 3 høyeste lønningene ved å bruke en slice og kun angi en positiv
end.
Løsning
Takk for tilbakemeldingene dine!
single