Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Groeperen op Meerdere Kolommen | Gegevens Aggregeren
Geavanceerde Technieken in Pandas

bookGroeperen op Meerdere Kolommen

Laten we wat informatie toevoegen over de .groupby()-methode. Je kunt groeperen op meerdere kolommen, maar de volgorde is in dit geval cruciaal. In het vorige hoofdstuk groepeerden we gegevens op vluchtnummer en telden we het aantal vertragingen. We kunnen deze taak ingewikkelder maken door niet alleen te groeperen op de kolom 'Flight', maar ook op de kolom 'Airline'. Bekijk de informatie over de dataset opnieuw en bekijk dan dit eenvoudige voorbeeld (de uitvoer bevat alleen de eerste 10 rijen):

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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Uitleg:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] - kolommen waarmee je werkt, inclusief de kolommen waarop je gaat groeperen;
  • .groupby(['Flight', 'Airline']) - hier zijn 'Flight' en 'Airline' argumenten van de functie .groupby().

Let op: als je op meerdere kolommen wilt groeperen, zet ze dan in een lijst - de volgorde is cruciaal. Dus in ons geval, als rijen van de dataset dezelfde waarde hebben in de kolom 'Flight', behoren ze tot één groep. Vervolgens vindt de functie binnen die groepen andere groepen voor rijen met dezelfde waarde in de kolom 'Airline'. Daarna, dankzij de methode .count() die de rijen telt, berekent onze functie het aantal rijen in de kolom 'Delay' die dezelfde waarde hebben in de kolom 'Airline' voor elke 'Flight'-groep.

Taak

Swipe to start coding

De opdracht is om gegevens te groeperen op basis van de luchthaven van vertrek en vervolgens op de weekdag. Bereken de gemiddelde tijd voor deze groepen. Volg het algoritme om de taak uit te voeren:

  1. Gegevens groeperen:
    • Selecteer de kolommen 'AirportFrom', 'DayOfWeek' en 'Time' uit data (in deze volgorde);
    • Pas de .groupby()-methode toe op deze kolommen;
    • Binnen de .groupby()-methode, groepeer op 'AirportFrom' en 'DayOfWeek' (volgorde is cruciaal);
    • Bereken de gemiddelde waarde van de kolom 'Time'.
  2. Toon de eerste 10 rijen van data_flights.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.03

bookGroeperen op Meerdere Kolommen

Veeg om het menu te tonen

Laten we wat informatie toevoegen over de .groupby()-methode. Je kunt groeperen op meerdere kolommen, maar de volgorde is in dit geval cruciaal. In het vorige hoofdstuk groepeerden we gegevens op vluchtnummer en telden we het aantal vertragingen. We kunnen deze taak ingewikkelder maken door niet alleen te groeperen op de kolom 'Flight', maar ook op de kolom 'Airline'. Bekijk de informatie over de dataset opnieuw en bekijk dan dit eenvoudige voorbeeld (de uitvoer bevat alleen de eerste 10 rijen):

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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Uitleg:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] - kolommen waarmee je werkt, inclusief de kolommen waarop je gaat groeperen;
  • .groupby(['Flight', 'Airline']) - hier zijn 'Flight' en 'Airline' argumenten van de functie .groupby().

Let op: als je op meerdere kolommen wilt groeperen, zet ze dan in een lijst - de volgorde is cruciaal. Dus in ons geval, als rijen van de dataset dezelfde waarde hebben in de kolom 'Flight', behoren ze tot één groep. Vervolgens vindt de functie binnen die groepen andere groepen voor rijen met dezelfde waarde in de kolom 'Airline'. Daarna, dankzij de methode .count() die de rijen telt, berekent onze functie het aantal rijen in de kolom 'Delay' die dezelfde waarde hebben in de kolom 'Airline' voor elke 'Flight'-groep.

Taak

Swipe to start coding

De opdracht is om gegevens te groeperen op basis van de luchthaven van vertrek en vervolgens op de weekdag. Bereken de gemiddelde tijd voor deze groepen. Volg het algoritme om de taak uit te voeren:

  1. Gegevens groeperen:
    • Selecteer de kolommen 'AirportFrom', 'DayOfWeek' en 'Time' uit data (in deze volgorde);
    • Pas de .groupby()-methode toe op deze kolommen;
    • Binnen de .groupby()-methode, groepeer op 'AirportFrom' en 'DayOfWeek' (volgorde is cruciaal);
    • Bereken de gemiddelde waarde van de kolom 'Time'.
  2. Toon de eerste 10 rijen van data_flights.

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 2
single

single

some-alt