Sarakkeen 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:
1234import 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))
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:
1234import 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())
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:
1234567891011import 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)
Swipe to start coding
Lopuksi on aika harjoitella! Noudata tässä seuraavaa algoritmia:
- Hae autot, joiden sarakkeen
'Year'
arvot ovat suurempia kuin2010
. - Poimi halvimmat
15
autoa (sarakkeen15
'Price'
pienintä arvoa). Sisällytä kaikki sarakkeen'Price'
päällekkäiset arvot. - Tulosta kaikki arvot tietojoukosta
data_cheapest
.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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?
Awesome!
Completion rate improved to 3.03
Sarakkeen 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:
1234import 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))
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:
1234import 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())
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:
1234567891011import 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)
Swipe to start coding
Lopuksi on aika harjoitella! Noudata tässä seuraavaa algoritmia:
- Hae autot, joiden sarakkeen
'Year'
arvot ovat suurempia kuin2010
. - Poimi halvimmat
15
autoa (sarakkeen15
'Price'
pienintä arvoa). Sisällytä kaikki sarakkeen'Price'
päällekkäiset arvot. - Tulosta kaikki arvot tietojoukosta
data_cheapest
.
Ratkaisu
Kiitos palautteestasi!
single