Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Edistynyt Ryhmittely | Datan Yhdistäminen
Edistyneet Tekniikat Pandas-Kirjastossa

bookEdistynyt Ryhmittely

Laajennetaan tietämystämme .groupby()-metodista. Kuten muistat, voimme käyttää myös .agg()-metodia. Tämän funktion tärkein etu on, että voimme soveltaa eri funktioita numeerisiin sarakkeisiin yhdellä ryhmäavaimella. Tarkastele esimerkkiä, jossa ryhmiteltiin lennot sarakkeen 'Airline' mukaan, laskettiin 'Delay'-sarakkeen arvot jokaiselle 'Airline':lle ja laskettiin pienimmät ja suurimmat arvot 'Length'-sarakkeelle. Erittäin kätevää, eikö totta?

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
copy

Selitys:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg() – metodi, jonka avulla voidaan soveltaa funktioita sarjaan tai jokaiseen alkioon erikseen;
  • {} – käytetään aaltosulkuja sarakkeen määrittämiseen ja funktioiden suoraan soveltamiseen niihin;
  • 'Delay': 'count' – soveltaa .count()-funktiota 'Delay'-sarakkeen arvoihin, joilla on sama avainryhmä;
  • 'Length': ['min', 'max'] – soveltaa .min()- ja .max()-funktioita 'Length'-sarakkeen arvoihin, joilla on sama avainryhmä. Riittää, että kirjoitat vain sarakkeen nimen ilman ()- tai .-merkkejä funktion kohdalla. Huomaa, että jos haluat soveltaa useita funktioita samaan sarakkeeseen, ne tulee laittaa listaan.
Tehtävä

Swipe to start coding

Voimme olettaa, että viive riippuu lentoyhtiöstä tai lentokentästä, mutta tarkastellaan asiaa syvemmin ja tutkitaan keskimääräisiä ja suurimpia viiveaikoja sen mukaan, miltä lentokentältä lento lähti ja mille lentokentälle se päättyi. Tarkastele myös lennon mediaanikestoa. Noudata seuraavaa algoritmia:

Ryhmittele tiedot:

  • Käytä .groupby()-metodia tietojoukkoon data;
  • .groupby()-metodin sisällä aseta sarakkeet 'AirportFrom' ja 'AirportTo'; järjestyksellä on merkitystä;
  • Käytä .agg()-metodia laskeaksesi aggregoidut arvot: sarakkeen 'Time' keskiarvo ja maksimiarvo sekä sarakkeen 'Length' mediaaniarvo.

Ratkaisu

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
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 output of this code would look like?

What other functions can I use with `.agg()` besides 'count', 'min', and 'max'?

How can I group by multiple columns using `.groupby()` and `.agg()`?

close

Awesome!

Completion rate improved to 3.03

bookEdistynyt Ryhmittely

Pyyhkäise näyttääksesi valikon

Laajennetaan tietämystämme .groupby()-metodista. Kuten muistat, voimme käyttää myös .agg()-metodia. Tämän funktion tärkein etu on, että voimme soveltaa eri funktioita numeerisiin sarakkeisiin yhdellä ryhmäavaimella. Tarkastele esimerkkiä, jossa ryhmiteltiin lennot sarakkeen 'Airline' mukaan, laskettiin 'Delay'-sarakkeen arvot jokaiselle 'Airline':lle ja laskettiin pienimmät ja suurimmat arvot 'Length'-sarakkeelle. Erittäin kätevää, eikö totta?

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
copy

Selitys:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg() – metodi, jonka avulla voidaan soveltaa funktioita sarjaan tai jokaiseen alkioon erikseen;
  • {} – käytetään aaltosulkuja sarakkeen määrittämiseen ja funktioiden suoraan soveltamiseen niihin;
  • 'Delay': 'count' – soveltaa .count()-funktiota 'Delay'-sarakkeen arvoihin, joilla on sama avainryhmä;
  • 'Length': ['min', 'max'] – soveltaa .min()- ja .max()-funktioita 'Length'-sarakkeen arvoihin, joilla on sama avainryhmä. Riittää, että kirjoitat vain sarakkeen nimen ilman ()- tai .-merkkejä funktion kohdalla. Huomaa, että jos haluat soveltaa useita funktioita samaan sarakkeeseen, ne tulee laittaa listaan.
Tehtävä

Swipe to start coding

Voimme olettaa, että viive riippuu lentoyhtiöstä tai lentokentästä, mutta tarkastellaan asiaa syvemmin ja tutkitaan keskimääräisiä ja suurimpia viiveaikoja sen mukaan, miltä lentokentältä lento lähti ja mille lentokentälle se päättyi. Tarkastele myös lennon mediaanikestoa. Noudata seuraavaa algoritmia:

Ryhmittele tiedot:

  • Käytä .groupby()-metodia tietojoukkoon data;
  • .groupby()-metodin sisällä aseta sarakkeet 'AirportFrom' ja 'AirportTo'; järjestyksellä on merkitystä;
  • Käytä .agg()-metodia laskeaksesi aggregoidut arvot: sarakkeen 'Time' keskiarvo ja maksimiarvo sekä sarakkeen 'Length' mediaaniarvo.

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 4. Luku 4
single

single

some-alt