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

bookSortering av 2D-Arrays

Som du kan se, vil det å sende vårt 2D-array direkte til sort()-funksjonen sortere hver 1D-array langs akse 1 (som er standardalternativet i et 2D-array). Ved å sette axis=0 sorteres hver 1D-array langs akse 0 (hver kolonne).

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

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

Ved sortering av 2D-arrays i synkende rekkefølge langs en gitt akse, må du bruke to slices: én full slice ([:]) og en annen med negativt steg ([::-1]). Plasseringen av slicen med negativt steg skal tilsvare aksen du sorterer langs.

Note
Merk

Ved sortering langs akse 0, kan du kun bruke et utsnitt med 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 poengsummene for hver eksamen i et bestemt fag. Hver kolonne representerer et spesifikt fag, og hver rad representerer en individuell student. Dermed viser en bestemt rad poengsummene 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 poengsum i synkende rekkefølge.
  2. Opprett et 1D NumPy-array kalt sorted_scores basert på exam_scores, som inneholder alle poengsummer sortert i stigende rekkefølge.

På denne måten kan du enkelt identifisere de høyeste poengsummene for hver eksamen og de laveste poengsummene på tvers av alle eksamener.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 2
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 2D-Arrays

Sveip for å vise menyen

Som du kan se, vil det å sende vårt 2D-array direkte til sort()-funksjonen sortere hver 1D-array langs akse 1 (som er standardalternativet i et 2D-array). Ved å sette axis=0 sorteres hver 1D-array langs akse 0 (hver kolonne).

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

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

Ved sortering av 2D-arrays i synkende rekkefølge langs en gitt akse, må du bruke to slices: én full slice ([:]) og en annen med negativt steg ([::-1]). Plasseringen av slicen med negativt steg skal tilsvare aksen du sorterer langs.

Note
Merk

Ved sortering langs akse 0, kan du kun bruke et utsnitt med 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 poengsummene for hver eksamen i et bestemt fag. Hver kolonne representerer et spesifikt fag, og hver rad representerer en individuell student. Dermed viser en bestemt rad poengsummene 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 poengsum i synkende rekkefølge.
  2. Opprett et 1D NumPy-array kalt sorted_scores basert på exam_scores, som inneholder alle poengsummer sortert i stigende rekkefølge.

På denne måten kan du enkelt identifisere de høyeste poengsummene for hver eksamen og de laveste poengsummene 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
single

single

some-alt