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 nogle oplysninger 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'. Opdater 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, der anvendes, inklusive de kolonner, der grupperes 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 dette tilfælde, hvis rækkerne i datasættet har samme værdi i kolonnen 'Flight', tilhører de én gruppe. Inden for disse grupper finder funktionen yderligere grupper for rækker med samme værdi i kolonnen 'Airline'. Derefter, på grund af metoden .count(), som tæller rækkerne, vil funktionen 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 flyet 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

Suggested prompts:

Can you explain why the order of columns in `.groupby()` matters?

What does the `.count()` method do in this context?

Can you show how the output would change if we switched the order of the columns in `.groupby()`?

close

Awesome!

Completion rate improved to 3.03

bookGruppering Efter Flere Kolonner

Stryg for at vise menuen

Lad os tilføje nogle oplysninger 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'. Opdater 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, der anvendes, inklusive de kolonner, der grupperes 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 dette tilfælde, hvis rækkerne i datasættet har samme værdi i kolonnen 'Flight', tilhører de én gruppe. Inden for disse grupper finder funktionen yderligere grupper for rækker med samme værdi i kolonnen 'Airline'. Derefter, på grund af metoden .count(), som tæller rækkerne, vil funktionen 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 flyet 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