Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Gruppering Efter Flere Kolonner | Aggregering af Data
Avancerede Teknikker i Pandas

bookGruppering Efter Flere Kolonner

Lad os tilføje lidt information om metoden .groupby(). Du kan gruppere efter flere kolonner, men rækkefølgen er afgørende i dette tilfælde. I det forrige kapitel grupperede vi data efter flynummer og talte antallet af forsinkelser. Vi kan gøre denne opgave mere kompleks ved at gruppere ikke kun efter kolonnen 'Flight', men også efter kolonnen 'Airline'. Opfrisk informationen om datasættet og se derefter på dette enkle eksempel (outputtet indeholder kun de første 10 rækker):

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']] - kolonner du arbejder med, inklusive de kolonner, du vil gruppere efter;
  • .groupby(['Flight', 'Airline']) - her er 'Flight' og 'Airline' argumenter til funktionen .groupby().

Bemærk, at hvis du vil gruppere efter flere kolonner, skal du placere dem i en liste – rækkefølgen er afgørende. Så i vores tilfælde, hvis rækkerne i datasættet har samme værdi i kolonnen 'Flight', vil de tilhøre én gruppe. Derefter finder funktionen inden for disse grupper yderligere grupper for rækker med samme værdi i kolonnen 'Airline'. Derefter, på grund af metoden .count(), som tæller rækkerne, vil vores funktion beregne antallet af rækker i kolonnen 'Delay', der har samme værdi i kolonnen 'Airline' for hver 'Flight'-gruppe.

Opgave

Swipe to start coding

Din opgave her er at gruppere data efter lufthavnen, hvorfra flyvningen startede, og derefter efter ugedag. Beregn gennemsnitstiden for grupperne. Følg algoritmen for at løse opgaven:

  1. Gruppér data:
    • Udtræk kolonnerne 'AirportFrom', 'DayOfWeek' og 'Time' fra data (i denne rækkefølge);
    • Anvend .groupby()-metoden på de nævnte kolonner;
    • Indsæt kolonnerne 'AirportFrom' og 'DayOfWeek' i .groupby()-metoden; rækkefølgen er vigtig;
    • Beregn gennemsnitsværdien af kolonnen 'Time'.
  2. Vis de første 10 rækker af data_flights.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2
single

single

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

close

Awesome!

Completion rate improved to 3.03

bookGruppering Efter Flere Kolonner

Stryg for at vise menuen

Lad os tilføje lidt information om metoden .groupby(). Du kan gruppere efter flere kolonner, men rækkefølgen er afgørende i dette tilfælde. I det forrige kapitel grupperede vi data efter flynummer og talte antallet af forsinkelser. Vi kan gøre denne opgave mere kompleks ved at gruppere ikke kun efter kolonnen 'Flight', men også efter kolonnen 'Airline'. Opfrisk informationen om datasættet og se derefter på dette enkle eksempel (outputtet indeholder kun de første 10 rækker):

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']] - kolonner du arbejder med, inklusive de kolonner, du vil gruppere efter;
  • .groupby(['Flight', 'Airline']) - her er 'Flight' og 'Airline' argumenter til funktionen .groupby().

Bemærk, at hvis du vil gruppere efter flere kolonner, skal du placere dem i en liste – rækkefølgen er afgørende. Så i vores tilfælde, hvis rækkerne i datasættet har samme værdi i kolonnen 'Flight', vil de tilhøre én gruppe. Derefter finder funktionen inden for disse grupper yderligere grupper for rækker med samme værdi i kolonnen 'Airline'. Derefter, på grund af metoden .count(), som tæller rækkerne, vil vores funktion beregne antallet af rækker i kolonnen 'Delay', der har samme værdi i kolonnen 'Airline' for hver 'Flight'-gruppe.

Opgave

Swipe to start coding

Din opgave her er at gruppere data efter lufthavnen, hvorfra flyvningen startede, og derefter efter ugedag. Beregn gennemsnitstiden for grupperne. Følg algoritmen for at løse opgaven:

  1. Gruppér data:
    • Udtræk kolonnerne 'AirportFrom', 'DayOfWeek' og 'Time' fra data (i denne rækkefølge);
    • Anvend .groupby()-metoden på de nævnte kolonner;
    • Indsæt kolonnerne 'AirportFrom' og 'DayOfWeek' i .groupby()-metoden; rækkefølgen er vigtig;
    • Beregn gennemsnitsværdien af kolonnen 'Time'.
  2. Vis de første 10 rækker af data_flights.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2
single

single

some-alt