Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Sarakkeen Pienimpien Arvojen Etsiminen | Datan Poimiminen
Edistyneet Tekniikat Pandas-Kirjastossa

bookSarakkeen Pienimpien Arvojen Etsiminen

Opimme toisen tärkeän funktion, joka palauttaa sarakkeen pienimmät tai suurimmat arvot. Tiedät jo, että voimme lajitella arvot ja poimia tietyn määrän rivejä. Ei ole yllättävää, että pandas mahdollistaa tämän yhdellä koodirivillä. Katso esimerkkiä, jossa haetaan viidentoista vanhimman auton tiedot:

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(15, 'Year') print(data_smallest.head(15))
copy

Jos haluat lajitella ensin yhden sarakkeen ja sitten toisen mukaan, aseta sarakenimet listaan haluttuun järjestykseen. Katso esimerkkiä, jossa lajitellaan ensin 'Year'-sarakkeen ja sitten 'Engine_volume'-sarakkeen mukaan. Tämä koodi poimii ensin 5 vanhinta autoa, ja jos vuosiluvut ovat samat, pienemmän 'Engine_volume'-arvon omaava auto asetetaan etusijalle:

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(5, ['Year', 'Engine_volume']) print(data_smallest.head())
copy

Vertaa kahta alla olevaa esimerkkiä. Nyt kehitämme toimintoa hieman pidemmälle. Palautetaan esimerkit sarakkeen 'Year' arvojen perusteella. Sarakkeessa 'Year' arvot voivat toistua, joten jos haluamme tulostaa kymmenen vanhinta autoa aiemmalla syntaksilla, funktio palauttaa vain kymmenen arvoa. Se ei huomioi, jos 11. tai 12. arvo on sama kuin 10. Voimme lisätä argumentin keep = 'all' metodiin .nsmallest() estääksemme tällaiset tapaukset. Katso esimerkkiä ja suorita se nähdäksesi ero:

1234567891011
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case without using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year') print(data_smallest) data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case with using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year', keep = 'all') print(data_smallest)
copy
Tehtävä

Swipe to start coding

Lopuksi on aika harjoitella! Noudata tässä seuraavaa algoritmia:

  1. Hae autot, joiden sarakkeen 'Year' arvot ovat suurempia kuin 2010.
  2. Poimi halvimmat 15 autoa (sarakkeen 15 'Price' pienintä arvoa). Sisällytä kaikki sarakkeen 'Price' päällekkäiset arvot.
  3. Tulosta kaikki arvot tietojoukosta data_cheapest.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 5
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain what the `nsmallest()` function does in pandas?

What does the `keep='all'` argument change in the output?

How can I use `nlargest()` instead of `nsmallest()` for the largest values?

close

Awesome!

Completion rate improved to 3.03

bookSarakkeen Pienimpien Arvojen Etsiminen

Pyyhkäise näyttääksesi valikon

Opimme toisen tärkeän funktion, joka palauttaa sarakkeen pienimmät tai suurimmat arvot. Tiedät jo, että voimme lajitella arvot ja poimia tietyn määrän rivejä. Ei ole yllättävää, että pandas mahdollistaa tämän yhdellä koodirivillä. Katso esimerkkiä, jossa haetaan viidentoista vanhimman auton tiedot:

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(15, 'Year') print(data_smallest.head(15))
copy

Jos haluat lajitella ensin yhden sarakkeen ja sitten toisen mukaan, aseta sarakenimet listaan haluttuun järjestykseen. Katso esimerkkiä, jossa lajitellaan ensin 'Year'-sarakkeen ja sitten 'Engine_volume'-sarakkeen mukaan. Tämä koodi poimii ensin 5 vanhinta autoa, ja jos vuosiluvut ovat samat, pienemmän 'Engine_volume'-arvon omaava auto asetetaan etusijalle:

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(5, ['Year', 'Engine_volume']) print(data_smallest.head())
copy

Vertaa kahta alla olevaa esimerkkiä. Nyt kehitämme toimintoa hieman pidemmälle. Palautetaan esimerkit sarakkeen 'Year' arvojen perusteella. Sarakkeessa 'Year' arvot voivat toistua, joten jos haluamme tulostaa kymmenen vanhinta autoa aiemmalla syntaksilla, funktio palauttaa vain kymmenen arvoa. Se ei huomioi, jos 11. tai 12. arvo on sama kuin 10. Voimme lisätä argumentin keep = 'all' metodiin .nsmallest() estääksemme tällaiset tapaukset. Katso esimerkkiä ja suorita se nähdäksesi ero:

1234567891011
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case without using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year') print(data_smallest) data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case with using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year', keep = 'all') print(data_smallest)
copy
Tehtävä

Swipe to start coding

Lopuksi on aika harjoitella! Noudata tässä seuraavaa algoritmia:

  1. Hae autot, joiden sarakkeen 'Year' arvot ovat suurempia kuin 2010.
  2. Poimi halvimmat 15 autoa (sarakkeen 15 'Price' pienintä arvoa). Sisällytä kaikki sarakkeen 'Price' päällekkäiset arvot.
  3. Tulosta kaikki arvot tietojoukosta data_cheapest.

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 5
single

single

some-alt