Taulukoiden Lajittelu
Tämä toiminto on erittäin hyödyllinen, koska haku lajitellussa taulukossa on paljon nopeampaa, sillä tehokkaat algoritmit kuten binäärihaku toimivat vain lajitelluissa taulukoissa.
numpy.sort() -funktio
NumPy:lla on sisäänrakennettu funktio sort()
, joka lajittelee alkioita arvojen mukaan nousevassa järjestyksessä. Tämän funktion paluuarvo on lajiteltu NumPy-taulukko. Tässä on sen yleinen syntaksi: numpy.sort(a, axis=-1, kind=None, order=None)
, missä:
a
on taulukko;axis
on akseli, jonka mukaan lajitellaan (viimeinen akseli (-1
) oletuksena);kind
on käytettävä lajittelualgoritmi (quicksort
oletuksena).
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort() -menetelmä
Kuten jo mainitsimme, numpy.sort()
-funktio palauttaa lajitellun taulukon, mutta ei muuta alkuperäistä taulukkoa. Jos haluaisimme muuttaa taulukkoa, meidän pitäisi kirjoittaa array = np.sort(array)
.
Kuitenkin, NumPy tarjoaa .sort()
-menetelmän vaihtoehtona, joka lajittelee taulukon paikan päällä eikä palauta uutta taulukkoa (se palauttaa None
, mikä tarkoittaa, ettei se palauta mitään). Sen syntaksi on samanlainen kuin sort()
-funktion.
Huomautus
Funktio on itsenäinen koodilohko, joka suorittaa tietyn tehtävän ja voidaan kutsua suoraan. Menetelmä on funktio, joka liittyy objektiin ja kutsutaan kyseisellä objektilla käyttäen
.
-operaattoria.
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
Kutsuttaessa .sort()
-menetelmää, array_1d
lajiteltiin paikan päällä ja sisältää nyt elementit lajiteltuina nousevaan järjestykseen.
Yksittäisten 1D-taulukoiden lajittelu laskevassa järjestyksessä
Joskus saatamme haluta lajitella taulukon laskevassa järjestyksessä. Kumpikaan .sort()
-metodi tai sort()
-funktio ei tue tätä toimintoa suoraan. Voimme kuitenkin yksinkertaisesti käyttää viipalointia step
-arvolla -1
lajitellussa taulukossa:
import 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)
Swipe to start coding
Hallitset työntekijöiden palkkojen tietojoukkoa, joka on tallennettu salaries
-taulukkoon.
- Lajittele palkat laskevassa järjestyksessä käyttämällä sopivaa funktiota.
- Tulosta 3 parasta palkkaa käyttämällä viipaletta ja määrittämällä vain positiivinen
end
.
Ratkaisu
Kiitos palautteestasi!