single
Sortering av Arrayer
Svep för att visa menyn
Sortering innebär att ordna elementen i en array i en viss ordning.
Denna operation är mycket användbar eftersom sökning i en sorterad array är mycket snabbare då effektiva algoritmer som binärsökning endast fungerar med sorterade arrayer.
numpy.sort()-funktionen
NumPy har en inbyggd funktion sort() för att sortera element efter värde i stigande ordning. Returnerat värde från denna funktion är en sorterad NumPy-array. Här är dess allmänna syntax: numpy.sort(a, axis=-1, kind=None, order=None), där:
aär en array;axisär axeln längs vilken sorteringen sker (sista axeln (-1) som standard);kindär sorteringsalgoritmen som används (quicksortsom standard).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort()-metod
Som vi redan nämnt returnerar funktionen numpy.sort() en sorterad array men ändrar inte den ursprungliga arrayen. Om vi vill ändra arrayen måste vi skriva array = np.sort(array).
Dock erbjuder NumPy en .sort()-metod som alternativ, vilken sorterar arrayen på plats och inte returnerar en ny array (den returnerar None, vilket betyder att den inte returnerar något). Dess syntax är liknande funktionen sort().
En funktion är ett fristående kodblock som utför en specifik uppgift och kan anropas direkt. En metod är en funktion som är kopplad till ett objekt och anropas på det objektet med hjälp av .-operatorn.
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Efter att ha anropat .sort()-metoden har array_1d sorterats på plats och innehåller nu element i stigande ordning.
Sortera 1D-arrayer i fallande ordning
Ibland kan vi vilja sortera en array i fallande ordning. Varken .sort()-metoden eller sort()-funktionen stöder denna funktionalitet direkt. Vi kan dock enkelt använda slicing med step lika med -1 på en sorterad array:
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Sorting array_1d in descending order array_1d = np.sort(array_1d)[::-1] print(array_1d)
Svep för att börja koda
Du hanterar en datamängd med anställdas löner som lagras i arrayen salaries.
- Sortera lönerna i fallande ordning med hjälp av lämplig funktion.
- Skriv ut de 3 högsta lönerna genom att använda en slice och endast ange ett positivt
end-värde.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal