Geavanceerde Groepering
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 dat we verschillende functies kunnen toepassen op de numerieke kolommen met één groepssleutel. Bekijk het voorbeeld waarin we vluchten groepeerden op de kolom 'Airline'
, vervolgens het aantal waarden in 'Delay'
voor elke 'Airline'
telden en de minimale en maximale waarden voor de kolom 'Length'
berekenden. Erg handig, nietwaar?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Uitleg:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()
– een methode waarmee we functies kunnen toepassen op een serie of op elk element afzonderlijk;{}
– we gebruiken accolades om de kolom te specificeren en direct functies toe te passen;'Delay': 'count'
– past de.count()
-functie toe op de waarden in de kolom'Delay'
met dezelfde groepssleutel;'Length': ['min', 'max']
– past de functies.min()
en.max()
toe op de waarden in de kolom'Length'
met dezelfde groepssleutel. Je hoeft alleen de kolomnaam te vermelden zonder de()
of.
symbolen in de functie. Let op: als je meerdere functies op dezelfde kolom wilt toepassen, moet je deze in een lijst plaatsen.
Swipe to start coding
We kunnen aannemen dat een vertraging afhankelijk is van de luchtvaartmaatschappij of de luchthaven, maar laten we dieper ingaan en 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 datasetdata
; - Plaats binnen de
.groupby()
-methode de kolommen'AirportFrom'
en'AirportTo'
; de volgorde is van cruciaal belang; - Gebruik de
.agg()
-methode om de geaggregeerde waarden te berekenen: de gemiddelde en maximale waarde in de kolom'Time'
, en de mediaan van de kolom'Length'
.
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
Geavanceerde 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 dat we verschillende functies kunnen toepassen op de numerieke kolommen met één groepssleutel. Bekijk het voorbeeld waarin we vluchten groepeerden op de kolom 'Airline'
, vervolgens het aantal waarden in 'Delay'
voor elke 'Airline'
telden en de minimale en maximale waarden voor de kolom 'Length'
berekenden. Erg handig, nietwaar?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Uitleg:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()
– een methode waarmee we functies kunnen toepassen op een serie of op elk element afzonderlijk;{}
– we gebruiken accolades om de kolom te specificeren en direct functies toe te passen;'Delay': 'count'
– past de.count()
-functie toe op de waarden in de kolom'Delay'
met dezelfde groepssleutel;'Length': ['min', 'max']
– past de functies.min()
en.max()
toe op de waarden in de kolom'Length'
met dezelfde groepssleutel. Je hoeft alleen de kolomnaam te vermelden zonder de()
of.
symbolen in de functie. Let op: als je meerdere functies op dezelfde kolom wilt toepassen, moet je deze in een lijst plaatsen.
Swipe to start coding
We kunnen aannemen dat een vertraging afhankelijk is van de luchtvaartmaatschappij of de luchthaven, maar laten we dieper ingaan en 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 datasetdata
; - Plaats binnen de
.groupby()
-methode de kolommen'AirportFrom'
en'AirportTo'
; de volgorde is van cruciaal belang; - Gebruik de
.agg()
-methode om de geaggregeerde waarden te berekenen: de gemiddelde en maximale waarde in de kolom'Time'
, en de mediaan van de kolom'Length'
.
Oplossing
Bedankt voor je feedback!
single