Avanceret Gruppering
Lad os udvide vores viden om .groupby()
-metoden. Som du husker, kan vi bruge .agg()
-metoden. Faktisk er den største fordel ved denne funktion, at vi kan anvende forskellige funktioner på de numeriske kolonner med én gruppe-nøgle. Se eksemplet, hvor vi grupperede flyvninger efter kolonnen 'Airline'
, derefter talte værdierne i 'Delay'
for hver 'Airline'
, og beregnede minimums- og maksimumsværdierne for kolonnen 'Length'
. Meget praktisk, ikke sandt?
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))
Forklaring:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()
– en metode, der gør det muligt at anvende funktioner på en serie eller på hvert element separat;{}
– vi bruger krøllede parenteser til at angive kolonnen og anvende funktioner direkte på dem;'Delay': 'count'
– anvender.count()
-funktionen på værdierne i'Delay'
-kolonnen med samme gruppe-nøgle;'Length': ['min', 'max']
– anvender.min()
- og.max()
-funktionerne på værdierne i'Length'
-kolonnen med samme gruppe-nøgle. Du skal blot angive kolonnenavnet uden()
eller.
-symboler i funktionen. Bemærk, at hvis du vil anvende flere funktioner på den samme kolonne, skal du placere dem i en liste.
Swipe to start coding
Vi kan antage, at en forsinkelse afhænger af flyselskabet eller lufthavnen, men lad os undersøge det nærmere og se på de gennemsnitlige og maksimale forsinkelsestider afhængigt af den lufthavn, hvorfra flyet startede, og derefter på den lufthavn, hvor flyet endte. Se også på medianen for flyvningens længde. Følg algoritmen:
Gruppér data:
- Anvend
.groupby()
-metoden på datasættetdata
; - Indsæt kolonnerne
.groupby()
og'AirportFrom'
i'AirportTo'
-metoden; rækkefølgen er afgørende; - Brug
.agg()
-metoden til at beregne de aggregerede værdier: gennemsnits- og maksimumsværdien i kolonnen'Time'
, samt medianværdien af kolonnen'Length'
.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain what the output of this code would look like?
What other functions can I use with `.agg()` besides 'count', 'min', and 'max'?
How can I group by multiple columns using `.groupby()` and `.agg()`?
Awesome!
Completion rate improved to 3.03
Avanceret Gruppering
Stryg for at vise menuen
Lad os udvide vores viden om .groupby()
-metoden. Som du husker, kan vi bruge .agg()
-metoden. Faktisk er den største fordel ved denne funktion, at vi kan anvende forskellige funktioner på de numeriske kolonner med én gruppe-nøgle. Se eksemplet, hvor vi grupperede flyvninger efter kolonnen 'Airline'
, derefter talte værdierne i 'Delay'
for hver 'Airline'
, og beregnede minimums- og maksimumsværdierne for kolonnen 'Length'
. Meget praktisk, ikke sandt?
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))
Forklaring:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()
– en metode, der gør det muligt at anvende funktioner på en serie eller på hvert element separat;{}
– vi bruger krøllede parenteser til at angive kolonnen og anvende funktioner direkte på dem;'Delay': 'count'
– anvender.count()
-funktionen på værdierne i'Delay'
-kolonnen med samme gruppe-nøgle;'Length': ['min', 'max']
– anvender.min()
- og.max()
-funktionerne på værdierne i'Length'
-kolonnen med samme gruppe-nøgle. Du skal blot angive kolonnenavnet uden()
eller.
-symboler i funktionen. Bemærk, at hvis du vil anvende flere funktioner på den samme kolonne, skal du placere dem i en liste.
Swipe to start coding
Vi kan antage, at en forsinkelse afhænger af flyselskabet eller lufthavnen, men lad os undersøge det nærmere og se på de gennemsnitlige og maksimale forsinkelsestider afhængigt af den lufthavn, hvorfra flyet startede, og derefter på den lufthavn, hvor flyet endte. Se også på medianen for flyvningens længde. Følg algoritmen:
Gruppér data:
- Anvend
.groupby()
-metoden på datasættetdata
; - Indsæt kolonnerne
.groupby()
og'AirportFrom'
i'AirportTo'
-metoden; rækkefølgen er afgørende; - Brug
.agg()
-metoden til at beregne de aggregerede værdier: gennemsnits- og maksimumsværdien i kolonnen'Time'
, samt medianværdien af kolonnen'Length'
.
Løsning
Tak for dine kommentarer!
single