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
Numpy Perusteet
Osio 3. Luku 1
single

single

Taulukoiden lajittelu

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Lajittelu tarkoittaa taulukon alkioiden järjestämistä tiettyyn järjestykseen.

Tämä toiminto on erittäin hyödyllinen, koska haku lajitellusta taulukosta on paljon nopeampaa, sillä tehokkaat algoritmit kuten binäärihaku toimivat vain lajitelluilla taulukoilla.

numpy.sort()-funktio

NumPy sisältää sisäänrakennetun sort()-funktion, jolla voidaan lajitella alkiot arvojen mukaan nousevaan järjestykseen. Tämän funktion palautusarvo on lajiteltu NumPy-taulukko. Yleinen syntaksi on: numpy.sort(a, axis=-1, kind=None, order=None), jossa:

  • a on taulukko;
  • axis on akseli, jonka mukaan lajitellaan (oletuksena viimeinen akseli (-1));
  • kind on käytettävä lajittelualgoritmi (oletuksena quicksort).
123
import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
Yksisuuntaisen taulukon lajittelu

ndarray.sort()-menetelmä

Kuten jo mainittiin, numpy.sort()-funktio palauttaa lajitellun taulukon, mutta ei muuta alkuperäistä taulukkoa. Jos haluat muuttaa taulukkoa, sinun täytyy kirjoittaa array = np.sort(array).

NumPy tarjoaa kuitenkin vaihtoehtoisesti .sort()-menetelmän, joka lajittelee taulukon paikallaan eikä palauta uutta taulukkoa (palauttaa None, eli ei palauta mitään). Sen syntaksi on samanlainen kuin sort()-funktion.

Note
Huomio

Funktio on itsenäinen koodilohko, joka suorittaa tietyn tehtävän ja jota voidaan kutsua suoraan. Metodi on funktio, joka liittyy olioon ja jota kutsutaan kyseiselle oliolle pisteoperaattorilla (.).

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)

Kun .sort()-metodia on kutsuttu, array_1d on lajiteltu paikan päällä ja sisältää nyt alkiot nousevassa järjestyksessä.

Yksidimensionaalisten taulukoiden lajittelu laskevaan järjestykseen

Joskus voi olla tarpeen lajitella taulukko laskevaan järjestykseen. Kumpikaan .sort()-metodi tai sort()-funktio ei tue tätä toimintoa suoraan. Voit kuitenkin käyttää viipalointia asettamalla step arvoksi -1 lajitellulle taulukolle:

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)
Yksidimensionaalisen taulukon lajittelu laskevaan järjestykseen
Tehtävä

Pyyhkäise aloittaaksesi koodauksen

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

  1. Järjestä palkat laskevaan järjestykseen käyttämällä sopivaa funktiota.
  2. Tulosta 3 korkeinta palkkaa käyttämällä viipaletta ja määrittelemä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
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt