Sortering 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.
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 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.
Ved sortering langs akse 0 kan du kun bruge et udsnit med et negativt trin, da det allerede indekserer langs denne akse.
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 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.
- Opret et 2D NumPy-array kaldet
top_scores_subjectbaseret påexam_scores, hvor hver kolonne, der repræsenterer et bestemt fag, er sorteret efter karakterer i faldende rækkefølge. - Opret et 1D NumPy-array kaldet
sorted_scoresbaseret 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
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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?
Awesome!
Completion rate improved to 3.7
Sortering 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.
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 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.
Ved sortering langs akse 0 kan du kun bruge et udsnit med et negativt trin, da det allerede indekserer langs denne akse.
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 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.
- Opret et 2D NumPy-array kaldet
top_scores_subjectbaseret påexam_scores, hvor hver kolonne, der repræsenterer et bestemt fag, er sorteret efter karakterer i faldende rækkefølge. - Opret et 1D NumPy-array kaldet
sorted_scoresbaseret 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
Tak for dine kommentarer!
single