Sortering 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.
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
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.
Ved sortering langs akse 0, kan du kun bruke et utsnitt med negativt steg, da 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
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 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.
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
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.
Ved sortering langs akse 0, kan du kun bruke et utsnitt med negativt steg, da 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