Avansert Gruppering
La oss utvide kunnskapen vår om .groupby()-metoden. Som du husker, kan vi bruke .agg()-metoden. Hovedfordelen med denne funksjonen er at vi kan bruke ulike funksjoner på de numeriske kolonnene med én gruppert nøkkel. Se på eksempelet der vi grupperte flyvninger etter kolonnen 'Airline', deretter telte verdiene i 'Delay' for hver 'Airline', og beregnet minimums- og maksimumsverdiene for kolonnen 'Length'. Veldig praktisk, ikke sant?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Forklaring:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()– en metode som lar oss bruke funksjoner på en serie eller på hvert element separat;{}– vi bruker krøllparenteser for å spesifisere kolonnen og bruke funksjoner direkte på dem;'Delay': 'count'– bruker.count()-funksjonen på verdiene i'Delay'-kolonnen med samme gruppert nøkkel;'Length': ['min', 'max']– bruker.min()- og.max()-funksjonene på verdiene i'Length'-kolonnen med samme gruppert nøkkel. Du trenger bare å skrive kolonnenavnet uten()eller.-symbolene i funksjonen. Merk at hvis du vil bruke flere funksjoner på samme kolonne, må du legge dem i en liste.
Swipe to start coding
Din oppgave er å gå dypere og se på gjennomsnittlig og maksimal forsinkelsestid avhengig av flyplassen flyet startet fra, og deretter på flyplassen flyet endte på. Se også på median lengde på flyturen. Følg algoritmen:
Grupper data:
- Bruk
.groupby()-metoden på datasettetdata; - I
.groupby()-metoden, legg inn kolonnene'AirportFrom'og'AirportTo'; rekkefølgen er avgjørende; - Bruk
.agg()-metoden for å beregne aggregerte verdier: gjennomsnittlig og maksimal verdi i kolonnen'Time', og medianverdien i kolonnen'Length'.
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
Can you explain what the output of this code would look like?
What other functions can I use with `.agg()` besides 'count', 'min', and 'max'?
How can I group by multiple columns using `.groupby()` and `.agg()`?
Awesome!
Completion rate improved to 3.03
Avansert Gruppering
Sveip for å vise menyen
La oss utvide kunnskapen vår om .groupby()-metoden. Som du husker, kan vi bruke .agg()-metoden. Hovedfordelen med denne funksjonen er at vi kan bruke ulike funksjoner på de numeriske kolonnene med én gruppert nøkkel. Se på eksempelet der vi grupperte flyvninger etter kolonnen 'Airline', deretter telte verdiene i 'Delay' for hver 'Airline', og beregnet minimums- og maksimumsverdiene for kolonnen 'Length'. Veldig praktisk, ikke sant?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Forklaring:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()– en metode som lar oss bruke funksjoner på en serie eller på hvert element separat;{}– vi bruker krøllparenteser for å spesifisere kolonnen og bruke funksjoner direkte på dem;'Delay': 'count'– bruker.count()-funksjonen på verdiene i'Delay'-kolonnen med samme gruppert nøkkel;'Length': ['min', 'max']– bruker.min()- og.max()-funksjonene på verdiene i'Length'-kolonnen med samme gruppert nøkkel. Du trenger bare å skrive kolonnenavnet uten()eller.-symbolene i funksjonen. Merk at hvis du vil bruke flere funksjoner på samme kolonne, må du legge dem i en liste.
Swipe to start coding
Din oppgave er å gå dypere og se på gjennomsnittlig og maksimal forsinkelsestid avhengig av flyplassen flyet startet fra, og deretter på flyplassen flyet endte på. Se også på median lengde på flyturen. Følg algoritmen:
Grupper data:
- Bruk
.groupby()-metoden på datasettetdata; - I
.groupby()-metoden, legg inn kolonnene'AirportFrom'og'AirportTo'; rekkefølgen er avgjørende; - Bruk
.agg()-metoden for å beregne aggregerte verdier: gjennomsnittlig og maksimal verdi i kolonnen'Time', og medianverdien i kolonnen'Length'.
Løsning
Takk for tilbakemeldingene dine!
single