Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Gruppering etter flere kolonner | Aggregere data
Datahåndtering med Pandas
Seksjon 4. Kapittel 2
single

single

bookGruppering etter flere kolonner

Sveip for å vise menyen

La oss legge til litt informasjon om .groupby()-metoden. Du kan gruppere etter flere kolonner, men rekkefølgen er avgjørende i dette tilfellet. I forrige kapittel grupperte vi data etter flightnummer og telte antall forsinkelser. Vi kan gjøre denne oppgaven mer kompleks ved å gruppere ikke bare etter kolonnen 'Flight', men også etter kolonnen 'Airline'. Oppdater informasjonen om datasettet og se deretter på dette enkle eksempelet (utdataene viser kun de første 10 radene):

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

Forklaring:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] – kolonnene du skal arbeide med, inkludert kolonnene du skal gruppere etter;
  • .groupby(['Flight', 'Airline']) – her er 'Flight' og 'Airline' argumenter til funksjonen .groupby().

Merk at hvis du vil gruppere etter flere kolonner, må du legge dem i en liste – rekkefølgen er avgjørende. I vårt tilfelle, hvis rader i datasettet har samme verdi i kolonnen 'Flight', vil de tilhøre én gruppe. Deretter finner funksjonen flere grupper for rader med samme verdi i kolonnen 'Airline' innenfor disse gruppene. Med metoden .count(), som teller rader, vil funksjonen beregne antall rader i kolonnen 'Delay' som har samme verdi i kolonnen 'Airline' for hver 'Flight'-gruppe.

Oppgave

Sveip for å begynne å kode

Din oppgave her er å gruppere data etter flyplassen flyet startet fra, og deretter etter ukedag. Beregn gjennomsnittlig tid for gruppene. Følg algoritmen for å løse oppgaven:

  1. Grupper data:
    • Ekstraher kolonnene 'AirportFrom', 'DayOfWeek' og 'Time' fra data (i denne rekkefølgen);
    • Bruk .groupby()-metoden på de nevnte kolonnene;
    • Innenfor .groupby()-metoden, angi kolonnene 'AirportFrom' og 'DayOfWeek'; rekkefølgen er viktig;
    • Beregn gjennomsnittsverdien av kolonnen 'Time'.
  2. Vis de første 10 radene av data_flights.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 2
single

single

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

some-alt