Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Geavanceerde Groepering | Gegevens Aggregeren
Data Wrangling met Pandas
Sectie 4. Hoofdstuk 4
single

single

bookGeavanceerde Groepering

Veeg om het menu te tonen

Laten we onze kennis over de .groupby()-methode uitbreiden. Zoals je je herinnert, kunnen we de .agg()-methode gebruiken. Het belangrijkste voordeel van deze functie is de flexibiliteit: het stelt ons in staat om meerdere, verschillende aggregaties toe te passen op meerdere kolommen tegelijk, wat resulteert in een overzichtelijke samenvattingstabel.

Bekijk het onderstaande voorbeeld. We groepeerden vluchten op 'Airline'. Vervolgens hebben we met .agg() het totale aantal vluchten geteld (met behulp van de kolom 'Delay') en tegelijkertijd de kortste en langste vluchtduur bepaald (met behulp van de kolom 'Length'). Erg handig, nietwaar?

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

Uitleg:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg(): Afkorting voor "aggregate". Deze methode neemt de gegroepeerde data en vat deze samen tot statistieken op basis van de door jou opgegeven regels.
  • {}: We gebruiken een Python-dictionary om specifieke kolommen te koppelen aan specifieke bewerkingen. De sleutels zijn de kolomnamen waarop je wilt richten, en de waarden zijn de functies die je wilt toepassen.
  • 'Delay': 'count': Geeft aan pandas door om de count-functie toe te passen op de kolom 'Delay' voor elke groep. Merk op dat we de stringalias 'count' gebruiken in plaats van count(). Pandas herkent deze standaard stringnamen voor veelvoorkomende statistieken.
  • 'Length': ['min', 'max']: Als je meer dan één functie op een enkele kolom wilt toepassen, moet je de functienamen in een lijst [] plaatsen. Hier berekenen we zowel de minimale als maximale waarde voor de kolom 'Length'.

Omdat we meerdere functies hebben toegepast, maakt de resulterende DataFrame automatisch hiërarchische (MultiIndex) kolommen aan. Je ziet Length op het bovenste niveau, met min en max daaronder netjes gecategoriseerd.

Taak

Veeg om te beginnen met coderen

Je taak is om dieper te kijken naar de gemiddelde en maximale vertragingstijden, afhankelijk van de luchthaven van vertrek en vervolgens van de luchthaven van aankomst. Bekijk daarnaast de mediaan van de vluchtduur. Volg het algoritme:

Gegevens groeperen:

  • Pas de .groupby()-methode toe op de dataset data;
  • Plaats binnen de .groupby()-methode de kolommen 'AirportFrom' en 'AirportTo'; de volgorde is van belang;
  • Gebruik de .agg()-methode om de geaggregeerde waarden te berekenen: het gemiddelde en de maximale waarde in de kolom 'Time', en de mediaan van de kolom 'Length'.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt