Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Avanceret Gruppering | Aggregering af Data
Avancerede Teknikker i Pandas

bookAvanceret 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?

1234
import 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))
copy

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.
Opgave

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ættet data;
  • 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

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

close

Awesome!

Completion rate improved to 3.03

bookAvanceret 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?

1234
import 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))
copy

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.
Opgave

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ættet data;
  • 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

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
single

single

some-alt