single
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 vervolgens 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'. Door 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.
Veeg om te beginnen met coderen
De opdracht is om de gegevens te groeperen op basis van de luchthaven van vertrek en vervolgens op de dag van de week. 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; - Geef binnen de
.groupby()-methode de kolommen'AirportFrom'en'DayOfWeek'op; de volgorde is cruciaal; - 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.