Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Edistynyt Ryhmittely | Datan Aggregointi
Datan Käsittely Pandasilla
Osio 4. Luku 4
single

single

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 sen joustavuus: sen avulla voidaan soveltaa useita, erilaisia aggregaatioita useisiin sarakkeisiin samanaikaisesti, jolloin saadaan selkeä yhteenvetotaulukko.

Katso alla olevaa esimerkkiä. Ryhmittelimme lennot 'Airline'-sarakkeen mukaan. Sitten käytimme .agg()-metodia laskeaksemme lentojen kokonaismäärän (käyttäen 'Delay'-sarakeetta) ja samanaikaisesti etsimme lyhimmän ja pisimmän lentomatkan keston (käyttäen 'Length'-sarakeetta). 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(): Lyhenne sanasta "aggregate". Tämä metodi tiivistää ryhmitellyn datan yhteenvetotilastoiksi antamiesi sääntöjen perusteella.
  • {}: Käytämme Python-sanakirjaa yhdistääksemme tietyt sarakkeet tiettyihin operaatioihin. Avaimet ovat sarakkeiden nimet, joihin haluat kohdistaa toiminnot, ja arvot ovat funktioita, joita haluat soveltaa.
  • 'Delay': 'count': Käskee pandas-kirjastoa laskemaan 'Delay'-sarakkeen arvojen määrän jokaisessa ryhmässä. Huomaa, että annamme merkkijonoaliaksen 'count' sen sijaan, että kirjoittaisimme count(). Pandas tunnistaa nämä yleiset tilastolliset merkkijononimet.
  • 'Length': ['min', 'max']: Jos haluat soveltaa useampaa kuin yhtä funktiota yhteen sarakkeeseen, funktioiden nimet tulee laittaa listaan []. Tässä lasketaan sekä pienin että suurin arvo 'Length'-sarakkeelle.

Koska sovelsimme useita funktioita, tuloksena syntyvä DataFrame luo automaattisesti hierarkkiset (MultiIndex) sarakkeet. Näet Length-sarakkeen ylimmällä tasolla, ja sen alla min ja max siististi luokiteltuna.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Tehtävänäsi on tarkastella tarkemmin keskimääräisiä ja suurimpia viiveaikoja riippuen siitä, miltä lentokentältä lento lähti ja mille lentokentälle lento päättyi. Tarkastele myös lennon mediaanikestoa. Noudata seuraavaa algoritmia:

Ryhmittele data:

  • 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

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt