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

bookBliv Fortrolig Med .groupby()-Metoden

Det glæder mig 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 ønsker at 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, der arbejdes med, inklusive de kolonner, der grupperes efter;
  • groupby('Flight') – Kolonnen 'Flight' er argumentet til .groupby()-funktionen. Dette betyder, at rækker med samme værdi i 'Flight'-kolonnen grupperes sammen;
  • .sum() – Denne funktion opererer på rækkerne inden for hver gruppe 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, der kan anvendes. 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

bookBliv Fortrolig Med .groupby()-Metoden

Stryg for at vise menuen

Det glæder mig 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 ønsker at 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, der arbejdes med, inklusive de kolonner, der grupperes efter;
  • groupby('Flight') – Kolonnen 'Flight' er argumentet til .groupby()-funktionen. Dette betyder, at rækker med samme værdi i 'Flight'-kolonnen grupperes sammen;
  • .sum() – Denne funktion opererer på rækkerne inden for hver gruppe 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, der kan anvendes. 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