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

bookSortering av 2D-arrayer

Som du kan se, sorterar sort()-funktionen varje 1D-array längs axel 1 (vilket är standardalternativet i en 2D-array) när du helt enkelt skickar in vår 2D-array. Om du anger axis=0 sorteras varje 1D-array längs axel 0 (varje kolumn).

Om du anger axis=None returneras 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

Sortering av 2D-arrayer i fallande ordning

Vid sortering av 2D-arrayer i fallande ordning längs en given axel behöver du använda två slices: en fullständig slice ([:]) och en annan med negativt steg ([::-1]). Positionen för slicen med negativt steg ska motsvara den axel längs vilken du sorterar.

Note
Observera

Vid sortering längs axel 0 kan endast en slice med negativt steg användas, eftersom den 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 inom ett visst ämne. Varje kolumn representerar ett specifikt ämne, och varje rad representerar en enskild student. Således visar en specifik rad den studentens poäng för varje prov.

  1. Skapa en 2D NumPy-array som heter top_scores_subject baserad 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 baserad på exam_scores, som innehåller alla poäng sorterade i stigande ordning.

På detta sätt kan du enkelt identifiera de högsta poängen för varje prov och de lägsta poängen över alla prov.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

bookSortering av 2D-arrayer

Svep för att visa menyn

Som du kan se, sorterar sort()-funktionen varje 1D-array längs axel 1 (vilket är standardalternativet i en 2D-array) när du helt enkelt skickar in vår 2D-array. Om du anger axis=0 sorteras varje 1D-array längs axel 0 (varje kolumn).

Om du anger axis=None returneras 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

Sortering av 2D-arrayer i fallande ordning

Vid sortering av 2D-arrayer i fallande ordning längs en given axel behöver du använda två slices: en fullständig slice ([:]) och en annan med negativt steg ([::-1]). Positionen för slicen med negativt steg ska motsvara den axel längs vilken du sorterar.

Note
Observera

Vid sortering längs axel 0 kan endast en slice med negativt steg användas, eftersom den 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 inom ett visst ämne. Varje kolumn representerar ett specifikt ämne, och varje rad representerar en enskild student. Således visar en specifik rad den studentens poäng för varje prov.

  1. Skapa en 2D NumPy-array som heter top_scores_subject baserad 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 baserad på exam_scores, som innehåller alla poäng sorterade i stigande ordning.

På detta sätt 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
single

single

some-alt