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

bookSortering af 2D-Arrays

Som du kan se, vil en simpel overførsel af vores 2D-array 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))
copy

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

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

Note
Bemærk

Ved sortering langs akse 0 kan du kun bruge et udsnit med et negativt trin, da det 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 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

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

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.7

bookSortering af 2D-Arrays

Stryg for at vise menuen

Som du kan se, vil en simpel overførsel af vores 2D-array 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))
copy

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

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

Note
Bemærk

Ved sortering langs akse 0 kan du kun bruge et udsnit med et negativt trin, da det 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 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

some-alt