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
Avanserte Teknikker i Pandas

bookGruppering Etter Flere Kolonner

La oss legge til litt informasjon om metoden .groupby(). Du kan gruppere etter flere kolonner, men rekkefølgen er avgjørende i dette tilfellet. I forrige kapittel grupperte vi data etter flynummer 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().

Vær oppmerksom på 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, innenfor disse gruppene, finner funksjonen andre grupper for rader med samme verdi i kolonnen 'Airline'. Deretter, på grunn av metoden .count() som teller rader, vil funksjonen vår beregne antall rader i kolonnen 'Delay' som har samme verdi i kolonnen 'Airline' for hver 'Flight'-gruppe.

Oppgave

Swipe to start coding

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;
    • I .groupby()-metoden, angi kolonnene 'AirportFrom' og 'DayOfWeek'; rekkefølgen er viktig;
    • Beregn gjennomsnittsverdien for kolonnen 'Time'.
  2. Vis de første 10 radene av data_flights.

Løsning

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

close

Awesome!

Completion rate improved to 3.03

bookGruppering Etter Flere Kolonner

Sveip for å vise menyen

La oss legge til litt informasjon om metoden .groupby(). Du kan gruppere etter flere kolonner, men rekkefølgen er avgjørende i dette tilfellet. I forrige kapittel grupperte vi data etter flynummer 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().

Vær oppmerksom på 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, innenfor disse gruppene, finner funksjonen andre grupper for rader med samme verdi i kolonnen 'Airline'. Deretter, på grunn av metoden .count() som teller rader, vil funksjonen vår beregne antall rader i kolonnen 'Delay' som har samme verdi i kolonnen 'Airline' for hver 'Flight'-gruppe.

Oppgave

Swipe to start coding

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;
    • I .groupby()-metoden, angi kolonnene 'AirportFrom' og 'DayOfWeek'; rekkefølgen er viktig;
    • Beregn gjennomsnittsverdien for 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

some-alt