Sortering av 2D-Arrays
Som du kan se, vil det å sende vårt 2D-array til funksjonen sort() 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.
12345678import 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))
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 slices: én full slice ([:]) og en annen med negativt steg ([::-1]). Posisjonen til slicen med negativt steg skal tilsvare aksen du sorterer langs.
Ved sortering langs akse 0, kan du kun bruke et utsnitt med negativt steg, siden det allerede indekserer langs denne aksen.
12345678import 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])
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.
- Opprett et 2D NumPy-array kalt
top_scores_subjectbasert påexam_scoresder hver kolonne, som representerer et bestemt fag, er sortert etter poengsum i synkende rekkefølge. - Opprett et 1D NumPy-array kalt
sorted_scoresbasert 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
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
Can you explain what axis 0 and axis 1 mean in a 2D array?
How does sorting along different axes affect the output?
Can you show more examples of sorting 2D arrays in NumPy?
Awesome!
Completion rate improved to 3.7
Sortering av 2D-Arrays
Sveip for å vise menyen
Som du kan se, vil det å sende vårt 2D-array til funksjonen sort() 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.
12345678import 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))
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 slices: én full slice ([:]) og en annen med negativt steg ([::-1]). Posisjonen til slicen med negativt steg skal tilsvare aksen du sorterer langs.
Ved sortering langs akse 0, kan du kun bruke et utsnitt med negativt steg, siden det allerede indekserer langs denne aksen.
12345678import 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])
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.
- Opprett et 2D NumPy-array kalt
top_scores_subjectbasert påexam_scoresder hver kolonne, som representerer et bestemt fag, er sortert etter poengsum i synkende rekkefølge. - Opprett et 1D NumPy-array kalt
sorted_scoresbasert 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
Takk for tilbakemeldingene dine!
single