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

Sveip for å vise menyen

book
Sortering av 2D-arrayer

Som du kan se, ved å ganske enkelt sende vår 2D-array til sort()-funksjonen, sorteres hver 1D-array langs akse 1 (som er standardalternativet i en 2D-array). Ved å sette axis=0 sorteres hver 1D-array langs akse 0 (hver kolonne).

Ved å sette axis=None returneres en sammenhengende sortert 1D-array av alle elementene i 2D-arrayen.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 print(np.sort(array_2d)) # Sorting a 2D array along axis 0 print(np.sort(array_2d, axis=0)) # Creating a 1D sorted array out of the elements of array_2d print(np.sort(array_2d, axis=None))
copy

Sortering av 2D-arrays i synkende rekkefølge

Når du sorterer 2D-arrays i synkende rekkefølge langs en gitt akse, må du bruke to utsnitt: ett fullt utsnitt ([:]) og et annet med et negativt steg ([::-1]). Posisjonen til utsnittet med det negative steget bør tilsvare aksen langs hvilken du sorterer.

Merk

Når du sorterer langs akse 0, kan du bruke bare et utsnitt med et negativt steg, da det allerede indekserer langs denne aksen.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 in descending order print(np.sort(array_2d)[:, ::-1]) # Sorting a 2D array along axis 0 in descending order print(np.sort(array_2d, axis=0)[::-1]) # Creating a 1D sorted array out of the elements of array_2d in descending order print(np.sort(array_2d, axis=None)[::-1])
copy
Oppgave

Swipe to start coding

Du har et 2D-array kalt exam_scores som inneholder poengene for hver eksamen fra et bestemt fag. Hver kolonne representerer et spesifikt fag, og hver rad representerer en individuell student. Dermed viser en spesifikk rad poengene til den studenten for hver eksamen.

  1. Opprett et 2D NumPy-array kalt top_scores_subject basert på exam_scores der hver kolonne, som representerer et bestemt fag, er sortert etter poeng i synkende rekkefølge.

  2. Opprett et 1D NumPy-array kalt sorted_scores basert på exam_scores, som inneholder alle poeng sortert i stigende rekkefølge.

Ved å gjøre dette kan du enkelt identifisere de høyeste poengene for hver eksamen og de laveste poengene på tvers av alle eksamener.

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 2

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 2D-arrayer

Som du kan se, ved å ganske enkelt sende vår 2D-array til sort()-funksjonen, sorteres hver 1D-array langs akse 1 (som er standardalternativet i en 2D-array). Ved å sette axis=0 sorteres hver 1D-array langs akse 0 (hver kolonne).

Ved å sette axis=None returneres en sammenhengende sortert 1D-array av alle elementene i 2D-arrayen.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 print(np.sort(array_2d)) # Sorting a 2D array along axis 0 print(np.sort(array_2d, axis=0)) # Creating a 1D sorted array out of the elements of array_2d print(np.sort(array_2d, axis=None))
copy

Sortering av 2D-arrays i synkende rekkefølge

Når du sorterer 2D-arrays i synkende rekkefølge langs en gitt akse, må du bruke to utsnitt: ett fullt utsnitt ([:]) og et annet med et negativt steg ([::-1]). Posisjonen til utsnittet med det negative steget bør tilsvare aksen langs hvilken du sorterer.

Merk

Når du sorterer langs akse 0, kan du bruke bare et utsnitt med et negativt steg, da det allerede indekserer langs denne aksen.

12345678
import numpy as np array_2d = np.array([[2, 9, 3], [1, 6, 4], [5, 7, 8]]) # Sorting a 2D array along axis 1 in descending order print(np.sort(array_2d)[:, ::-1]) # Sorting a 2D array along axis 0 in descending order print(np.sort(array_2d, axis=0)[::-1]) # Creating a 1D sorted array out of the elements of array_2d in descending order print(np.sort(array_2d, axis=None)[::-1])
copy
Oppgave

Swipe to start coding

Du har et 2D-array kalt exam_scores som inneholder poengene for hver eksamen fra et bestemt fag. Hver kolonne representerer et spesifikt fag, og hver rad representerer en individuell student. Dermed viser en spesifikk rad poengene til den studenten for hver eksamen.

  1. Opprett et 2D NumPy-array kalt top_scores_subject basert på exam_scores der hver kolonne, som representerer et bestemt fag, er sortert etter poeng i synkende rekkefølge.

  2. Opprett et 1D NumPy-array kalt sorted_scores basert på exam_scores, som inneholder alle poeng sortert i stigende rekkefølge.

Ved å gjøre dette kan du enkelt identifisere de høyeste poengene for hver eksamen og de laveste poengene på tvers av alle eksamener.

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 2
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