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 extra 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 groepeert;
  • .groupby(['Flight', 'Airline']) - hier zijn 'Flight' en 'Airline' argumenten van de functie .groupby().

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

Taak

Swipe to start coding

De opdracht is om de gegevens te groeperen op basis van de luchthaven van vertrek en vervolgens op de weekdag. Bereken de gemiddelde tijd voor deze groepen. Volg het onderstaande 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;
    • Plaats binnen de .groupby()-methode de kolommen 'AirportFrom' en 'DayOfWeek'; de volgorde is belangrijk;
    • 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 extra 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 groepeert;
  • .groupby(['Flight', 'Airline']) - hier zijn 'Flight' en 'Airline' argumenten van de functie .groupby().

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

Taak

Swipe to start coding

De opdracht is om de gegevens te groeperen op basis van de luchthaven van vertrek en vervolgens op de weekdag. Bereken de gemiddelde tijd voor deze groepen. Volg het onderstaande 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;
    • Plaats binnen de .groupby()-methode de kolommen 'AirportFrom' en 'DayOfWeek'; de volgorde is belangrijk;
    • 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