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
Datan Käsittely Pandas-Kirjastolla
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'-sarakketta) ja samanaikaisesti etsimme lyhimmän ja pisimmän lentomatkan keston (käyttäen 'Length'-sarakketta). 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.
  • {}: Python-sanakirjaa käytetään yhdistämään tietyt sarakkeet tiettyihin operaatioihin. Avaimet ovat sarakkeiden nimet, joita haluat käsitellä, ja arvot ovat funktioita, joita haluat soveltaa.
  • 'Delay': 'count': Ohjeistaa pandas-kirjastoa laskemaan 'Delay'-sarakkeen arvojen määrän jokaisessa ryhmässä. Huomaa, että käytämme merkkijonoa 'count' emmekä kirjoita count(). Pandas tunnistaa nämä yleiset tilastolliset funktiot merkkijonoina.
  • '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'-sarakkeesta.

Koska käytimme useita funktioita, tuloksena oleva DataFrame luo automaattisesti hierarkkiset (MultiIndex) sarakkeet. Näet Length-sarakkeen ylimmällä tasolla, ja sen alla min ja max omissa kategorioissaan.

Tehtävä

Swipe to start coding

Tehtävänäsi on perehtyä tarkemmin ja tarkastella keskimääräisiä ja suurimpia viiveaikoja sen mukaan, miltä lentokentältä lento on lähtenyt ja mille lentokentälle lento on päättynyt. 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