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.
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))
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.
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])
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.
-
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. -
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
Takk for tilbakemeldingene dine!