Avanceret Gruppering
Lad os udvide vores viden om .groupby()-metoden. Som du husker, kan vi bruge .agg()-metoden. Faktisk er de største fordele 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 specificere 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å samme kolonne, skal du placere dem i en liste.
Swipe to start coding
Din opgave er at undersøge gennemsnitlige og maksimale forsinkelsestider afhængigt af den lufthavn, hvorfra flyet startede, og derefter den lufthavn, hvor flyet endte. Undersøg også medianlængden af flyveturen. 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 vigtig; - Brug
.agg()-metoden til at beregne de aggregerede værdier: gennemsnit og maksimum i kolonnen'Time'samt medianværdien i 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
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 de største fordele 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 specificere 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å samme kolonne, skal du placere dem i en liste.
Swipe to start coding
Din opgave er at undersøge gennemsnitlige og maksimale forsinkelsestider afhængigt af den lufthavn, hvorfra flyet startede, og derefter den lufthavn, hvor flyet endte. Undersøg også medianlængden af flyveturen. 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 vigtig; - Brug
.agg()-metoden til at beregne de aggregerede værdier: gennemsnit og maksimum i kolonnen'Time'samt medianværdien i kolonnen'Length'.
Løsning
Tak for dine kommentarer!
single