Gruppering 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):
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']]
– 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.
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:
- Grupper data:
- Ekstraher kolonnene
'AirportFrom'
,'DayOfWeek'
og'Time'
fradata
(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'
.
- Ekstraher kolonnene
- Vis de første
10
radene avdata_flights
.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.03
Gruppering 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):
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']]
– 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.
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:
- Grupper data:
- Ekstraher kolonnene
'AirportFrom'
,'DayOfWeek'
og'Time'
fradata
(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'
.
- Ekstraher kolonnene
- Vis de første
10
radene avdata_flights
.
Løsning
Takk for tilbakemeldingene dine!
single