Gruppering 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):
1234import 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))
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.
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:
- Gruppér data:
- Udtræk kolonnerne
'AirportFrom'
,'DayOfWeek'
og'Time'
fradata
(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'
.
- Udtræk kolonnerne
- Vis de første
10
rækker afdata_flights
.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.03
Gruppering 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):
1234import 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))
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.
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:
- Gruppér data:
- Udtræk kolonnerne
'AirportFrom'
,'DayOfWeek'
og'Time'
fradata
(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'
.
- Udtræk kolonnerne
- Vis de første
10
rækker afdata_flights
.
Løsning
Tak for dine kommentarer!
single