Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Sortering af 2D-arrays | Almindeligt Anvendte NumPy-Funktioner
Numpy-Grundlæggende
Sektion 3. Kapitel 2
single

single

Sortering af 2D-arrays

Stryg for at vise menuen

Sortering af 2D-array

Som du kan se, vil det at sende vores 2D-array direkte til funktionen sort() sortere hver 1D-array langs akse 1 (som er standardindstillingen i et 2D-array). Hvis du angiver axis=0, sorteres hver 1D-array langs akse 0 (hver kolonne).

Hvis du angiver axis=None, returneres et sammenhængende sorteret 1D-array med alle elementerne fra 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))

Sortering af 2D-arrays i faldende rækkefølge

Ved sortering af 2D-arrays i faldende rækkefølge langs en given akse skal der bruges to slices: én fuld slice ([:]) og en anden med et negativt step ([::-1]). Positionen af slicen med det negative step skal svare til den akse, der sorteres langs.

Note
Bemærk

Ved sortering langs akse 0 kan der kun bruges en slice med negativt step, da denne allerede indekserer langs denne akse.

Sortering af 2D-arrays i faldende rækkefølge
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])
Opgave

Swipe to start coding

Du har et 2D-array kaldet exam_scores, som indeholder karaktererne for hver eksamen i et bestemt fag. Hver kolonne repræsenterer et specifikt fag, og hver række repræsenterer en individuel studerende. En bestemt række viser altså denne studerendes karakterer for hver eksamen.

  1. Opret et 2D NumPy-array kaldet top_scores_subject baseret på exam_scores, hvor hver kolonne, der repræsenterer et bestemt fag, er sorteret efter karakterer i faldende rækkefølge.
  2. Opret et 1D NumPy-array kaldet sorted_scores baseret på exam_scores, som indeholder alle karakterer sorteret i stigende rækkefølge.

På denne måde kan du nemt identificere de højeste karakterer for hver eksamen og de laveste karakterer på tværs af alle eksamener.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 2
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt