Sortera 2D-Arrayer
Som du kan se, genom att helt enkelt skicka vår 2D-array till sort()
-funktionen sorteras varje 1D-array längs axel 1 (vilket är standardalternativet i en 2D-array). Att ställa in axis=0
sorterar varje 1D-array längs axel 0 (varje kolumn).
Att ställa in axis=None
returnerar en sammanhängande sorterad 1D-array av alla element 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))
Sortera 2D-arrayer i fallande ordning
När du sorterar 2D-arrayer i fallande ordning längs en given axel, behöver du använda två skivor: en full skiva ([:]
) och en annan med ett negativt steg ([::-1]
). Positionen för skivan med det negativa steget bör motsvara axeln längs vilken du sorterar.
Notera
När du sorterar längs axel 0, kan du använda endast en skiva med ett negativt steg, eftersom det redan indexerar längs denna axel.
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 en 2D-array som heter exam_scores
som innehåller poängen för varje prov från ett visst ämne. Varje kolumn representerar ett specifikt ämne, och varje rad representerar en enskild student. Således visar en specifik rad poängen för den studenten för varje prov.
-
Skapa en 2D NumPy-array som heter
top_scores_subject
baserat påexam_scores
där varje kolumn, som representerar ett visst ämne, är sorterad efter poäng i fallande ordning. -
Skapa en 1D NumPy-array som heter
sorted_scores
baserat påexam_scores
, som innehåller alla poäng sorterade i stigande ordning.
Genom att göra detta kan du enkelt identifiera de högsta poängen för varje prov och de lägsta poängen över alla prov.
Lösning
Tack för dina kommentarer!