single
Edistynyt 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?
1234import 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))
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ä kirjoitacount(). 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.
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 tietojoukkoondata; .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
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme