Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Bli Kjent Med .groupby()-Metoden | Aggregere Data
Avanserte Teknikker i Pandas

bookBli Kjent Med .groupby()-Metoden

Hyggelig å se deg i denne seksjonen. Her skal vi gruppere dataene våre for å finne informasjon om ulike grupper av rader. Undersøk datasettet om forsinkelser (du kan bla horisontalt i denne tabellen):

Å gruppere data er nyttig, og nå skal vi se nærmere på dette. Tenk deg at du ønsker å beregne antall forsinkelser for hvert flynummer. Se på kodeeksempelet og deretter 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']] – Dette er kolonnene du skal arbeide med, inkludert kolonnene du skal gruppere;
  • groupby('Flight') – Kolonnen 'Flight' er argumentet til funksjonen .groupby(). Dette betyr at rader med samme verdi i kolonnen 'Flight' blir gruppert sammen;
  • .sum() – Denne funksjonen opererer på radene innenfor hver gruppe som er opprettet av .groupby(). I dette tilfellet summerer den verdiene i kolonnen 'Delay' for rader som tilhører samme 'Flight'-gruppe.
Note
Merk

Siden kolonnen 'Delay' kun inneholder 0 (ingen forsinkelse) eller 1 (forsinkelse) som mulige verdier, representerer summen av radene antall forsinkelser for hver flight.

Faktisk er .sum() én av mange aggregeringsfunksjoner du kan bruke. Du vil bli kjent med alle etter hvert som du fortsetter.

question-icon

Fyll inn de manglende delene for å finne gjennomsnittsverdien til kolonnen 'Time' avhengig av kolonnen 'DayOfWeek'.

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

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 3.03

bookBli Kjent Med .groupby()-Metoden

Sveip for å vise menyen

Hyggelig å se deg i denne seksjonen. Her skal vi gruppere dataene våre for å finne informasjon om ulike grupper av rader. Undersøk datasettet om forsinkelser (du kan bla horisontalt i denne tabellen):

Å gruppere data er nyttig, og nå skal vi se nærmere på dette. Tenk deg at du ønsker å beregne antall forsinkelser for hvert flynummer. Se på kodeeksempelet og deretter 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']] – Dette er kolonnene du skal arbeide med, inkludert kolonnene du skal gruppere;
  • groupby('Flight') – Kolonnen 'Flight' er argumentet til funksjonen .groupby(). Dette betyr at rader med samme verdi i kolonnen 'Flight' blir gruppert sammen;
  • .sum() – Denne funksjonen opererer på radene innenfor hver gruppe som er opprettet av .groupby(). I dette tilfellet summerer den verdiene i kolonnen 'Delay' for rader som tilhører samme 'Flight'-gruppe.
Note
Merk

Siden kolonnen 'Delay' kun inneholder 0 (ingen forsinkelse) eller 1 (forsinkelse) som mulige verdier, representerer summen av radene antall forsinkelser for hver flight.

Faktisk er .sum() én av mange aggregeringsfunksjoner du kan bruke. Du vil bli kjent med alle etter hvert som du fortsetter.

question-icon

Fyll inn de manglende delene for å finne gjennomsnittsverdien til kolonnen 'Time' avhengig av kolonnen 'DayOfWeek'.

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

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 1
some-alt