Groeperen 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):
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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
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.
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:
- Gegevens groeperen:
- Selecteer de kolommen
'AirportFrom','DayOfWeek'en'Time'uitdata(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'.
- Selecteer de kolommen
- Toon de eerste
10rijen vandata_flights.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 3.03
Groeperen 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):
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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
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.
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:
- Gegevens groeperen:
- Selecteer de kolommen
'AirportFrom','DayOfWeek'en'Time'uitdata(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'.
- Selecteer de kolommen
- Toon de eerste
10rijen vandata_flights.
Oplossing
Bedankt voor je feedback!
single