Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Sortera 2D-Arrayer | Vanligt Använda NumPy-Funktioner
Ultimata NumPy

Svep för att visa menyn

book
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.

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

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.

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
Uppgift

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.

  1. 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.

  2. 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

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 2
Vi beklagar att något gick fel. Vad hände?

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
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.

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

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.

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
Uppgift

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.

  1. 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.

  2. 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

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 2
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt