Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Geavanceerde Groepering | Gegevens Aggregëren
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: hiermee kunnen we meerdere, verschillende aggregaties toepassen 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 gegevens en vat ze samen tot statistieken op basis van de opgegeven regels.
  • {}: We gebruiken een Python-dictionary om specifieke kolommen te koppelen aan specifieke bewerkingen. De sleutels zijn de kolomnamen die je wilt targeten, 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 minimum- als maximumwaarde voor de kolom 'Length'.

Omdat we meerdere functies hebben toegepast, maakt het 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 ook 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