Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Introduktion til .groupby()-Metoden | Aggregering af Data
Avancerede Teknikker i Pandas

bookIntroduktion til .groupby()-Metoden

Jeg er glad for at se dig i dette afsnit. Her vil vi gruppere vores data for at finde information om forskellige grupper af rækker. Undersøg datasættet om forsinkelser (du kan rulle denne tabel vandret):

Gruppering af data er fordelagtigt, og nu vil vi gå mere i dybden med det. Forestil dig, at du vil beregne antallet af forsinkelser for hvert flynummer. Se på kodeeksemplet og derefter på forklaringen:

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[['Flight', 'Delay']].groupby('Flight').sum() print(data_flights.head())
copy

Forklaring:

data[['Flight', 'Delay']].groupby('Flight').sum()
  • data[['Flight', 'Delay']] – Disse er de kolonner, du arbejder med, inklusive de kolonner, du vil gruppere;
  • groupby('Flight') – Kolonnen 'Flight' er argumentet til .groupby()-funktionen. Det betyder, at rækker med samme værdi i 'Flight'-kolonnen bliver grupperet sammen;
  • .sum() – Denne funktion opererer på rækkerne inden for hver gruppe, der er oprettet af .groupby(). I dette tilfælde summeres værdierne i 'Delay'-kolonnen for rækker, der tilhører samme 'Flight'-gruppe.
Note
Bemærk

Da kolonnen 'Delay' kun indeholder 0 (ingen forsinkelse) eller 1 (en forsinkelse) som mulige værdier, repræsenterer summen af rækkerne antallet af forsinkelser for hver flyvning.

Faktisk er .sum() blot én af mange aggregeringsfunktioner, du kan anvende. Du vil blive fortrolig med dem alle, efterhånden som du fortsætter.

question-icon

Udfyld hullerne for at finde gennemsnitsværdien af kolonnen 'Time' afhængigt af kolonnen 'DayOfWeek'.

data_extracted = data[['', 'Time']]('').mean()
print(data_extracted)
DayOfWeekTime
3804.993130
4804.452984
5702.888362
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

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

Awesome!

Completion rate improved to 3.03

bookIntroduktion til .groupby()-Metoden

Stryg for at vise menuen

Jeg er glad for at se dig i dette afsnit. Her vil vi gruppere vores data for at finde information om forskellige grupper af rækker. Undersøg datasættet om forsinkelser (du kan rulle denne tabel vandret):

Gruppering af data er fordelagtigt, og nu vil vi gå mere i dybden med det. Forestil dig, at du vil beregne antallet af forsinkelser for hvert flynummer. Se på kodeeksemplet og derefter på forklaringen:

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[['Flight', 'Delay']].groupby('Flight').sum() print(data_flights.head())
copy

Forklaring:

data[['Flight', 'Delay']].groupby('Flight').sum()
  • data[['Flight', 'Delay']] – Disse er de kolonner, du arbejder med, inklusive de kolonner, du vil gruppere;
  • groupby('Flight') – Kolonnen 'Flight' er argumentet til .groupby()-funktionen. Det betyder, at rækker med samme værdi i 'Flight'-kolonnen bliver grupperet sammen;
  • .sum() – Denne funktion opererer på rækkerne inden for hver gruppe, der er oprettet af .groupby(). I dette tilfælde summeres værdierne i 'Delay'-kolonnen for rækker, der tilhører samme 'Flight'-gruppe.
Note
Bemærk

Da kolonnen 'Delay' kun indeholder 0 (ingen forsinkelse) eller 1 (en forsinkelse) som mulige værdier, repræsenterer summen af rækkerne antallet af forsinkelser for hver flyvning.

Faktisk er .sum() blot én af mange aggregeringsfunktioner, du kan anvende. Du vil blive fortrolig med dem alle, efterhånden som du fortsætter.

question-icon

Udfyld hullerne for at finde gennemsnitsværdien af kolonnen 'Time' afhængigt af kolonnen 'DayOfWeek'.

data_extracted = data[['', 'Time']]('').mean()
print(data_extracted)
DayOfWeekTime
3804.993130
4804.452984
5702.888362
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1
some-alt