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
Ultimativ NumPy

Stryg for at vise menuen

book
Sortering af 2D-Arrays

Som du kan se, ved blot at passere vores 2D-array til sort()-funktionen, sorteres hver 1D-array langs akse 1 (som er standardindstillingen i et 2D-array). Indstilling af axis=0 sorterer hver 1D-array langs akse 0 (hver kolonne).

Indstilling af axis=None returnerer en sammenhængende sorteret 1D-array af alle elementerne 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 af 2D-arrays i faldende rækkefølge

Når du sorterer 2D-arrays i faldende rækkefølge langs en given akse, skal du bruge to slices: en fuld slice ([:]) og en anden med et negativt trin ([::-1]). Positionen af slicen med det negative trin skal svare til den akse, langs hvilken du sorterer.

Bemærk

Når du sorterer langs akse 0, kan du kun bruge en slice med et negativt trin, da den allerede indekserer langs denne akse.

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
Opgave

Swipe to start coding

Du har et 2D-array ved navn exam_scores, der indeholder resultaterne for hver eksamen fra et bestemt fag. Hver kolonne repræsenterer et specifikt fag, og hver række repræsenterer en individuel studerende. Således viser en specifik række resultaterne af den studerende for hver eksamen.

  1. Opret et 2D NumPy array ved navn top_scores_subject baseret på exam_scores, hvor hver kolonne, der repræsenterer et bestemt fag, er sorteret efter resultater i faldende rækkefølge.

  2. Opret et 1D NumPy array ved navn sorted_scores baseret på exam_scores, der indeholder alle resultater sorteret i stigende rækkefølge.

Ved at gøre dette kan du nemt identificere de højeste resultater for hver eksamen og de laveste resultater 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
Vi beklager, at noget gik galt. Hvad skete der?

Spørg AI

expand
ChatGPT

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

book
Sortering af 2D-Arrays

Som du kan se, ved blot at passere vores 2D-array til sort()-funktionen, sorteres hver 1D-array langs akse 1 (som er standardindstillingen i et 2D-array). Indstilling af axis=0 sorterer hver 1D-array langs akse 0 (hver kolonne).

Indstilling af axis=None returnerer en sammenhængende sorteret 1D-array af alle elementerne 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 af 2D-arrays i faldende rækkefølge

Når du sorterer 2D-arrays i faldende rækkefølge langs en given akse, skal du bruge to slices: en fuld slice ([:]) og en anden med et negativt trin ([::-1]). Positionen af slicen med det negative trin skal svare til den akse, langs hvilken du sorterer.

Bemærk

Når du sorterer langs akse 0, kan du kun bruge en slice med et negativt trin, da den allerede indekserer langs denne akse.

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
Opgave

Swipe to start coding

Du har et 2D-array ved navn exam_scores, der indeholder resultaterne for hver eksamen fra et bestemt fag. Hver kolonne repræsenterer et specifikt fag, og hver række repræsenterer en individuel studerende. Således viser en specifik række resultaterne af den studerende for hver eksamen.

  1. Opret et 2D NumPy array ved navn top_scores_subject baseret på exam_scores, hvor hver kolonne, der repræsenterer et bestemt fag, er sorteret efter resultater i faldende rækkefølge.

  2. Opret et 1D NumPy array ved navn sorted_scores baseret på exam_scores, der indeholder alle resultater sorteret i stigende rækkefølge.

Ved at gøre dette kan du nemt identificere de højeste resultater for hver eksamen og de laveste resultater 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
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt