Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Taulukoiden Lajittelu | Yleisesti Käytetyt NumPy-Funktiot
Lopullinen NumPy

Pyyhkäise näyttääksesi valikon

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

123
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
copy

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.

12345
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
copy

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:

12345
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)
copy
Tehtävä

Swipe to start coding

Hallitset työntekijöiden palkkojen tietojoukkoa, joka on tallennettu salaries-taulukkoon.

  1. Lajittele palkat laskevassa järjestyksessä käyttämällä sopivaa funktiota.
  2. Tulosta 3 parasta palkkaa käyttämällä viipaletta ja määrittämällä vain positiivinen end.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

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

123
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
copy

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.

12345
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
copy

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:

12345
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)
copy
Tehtävä

Swipe to start coding

Hallitset työntekijöiden palkkojen tietojoukkoa, joka on tallennettu salaries-taulukkoon.

  1. Lajittele palkat laskevassa järjestyksessä käyttämällä sopivaa funktiota.
  2. Tulosta 3 parasta palkkaa käyttämällä viipaletta ja määrittämällä vain positiivinen end.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt