single
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 dens fleksibilitet: den lar oss bruke flere, ulike aggregeringer på flere kolonner samtidig, og returnerer en ryddig oppsummeringstabell.
Se på eksempelet nedenfor. Vi grupperte flyvninger etter 'Airline'. Deretter brukte vi .agg() for å telle det totale antallet flyvninger (ved å bruke 'Delay'-kolonnen) og samtidig finne den korteste og lengste flytiden (ved å bruke 'Length'-kolonnen). 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(): Forkortelse for "aggregate". Denne metoden tar de grupperte dataene og kondenserer dem til sammendragsstatistikk basert på reglene du angir.{}: Vi bruker en Python-ordbok for å knytte spesifikke kolonner til spesifikke operasjoner. Nøklene er kolonnenavnene du vil bruke, og verdiene er funksjonene du vil bruke.'Delay': 'count': Ber pandas bruke tellefunksjonen på'Delay'-kolonnen for hver gruppe. Merk at vi sender inn strengaliaset'count'i stedet for å skrivecount(). Pandas gjenkjenner disse standard strengnavnene for vanlige statistikker.'Length': ['min', 'max']: Hvis du vil bruke mer enn én funksjon på én kolonne, må du legge funksjonsnavnene i en liste[]. Her beregner vi både minimums- og maksimumsverdien for'Length'-kolonnen.
Fordi vi brukte flere funksjoner, vil den resulterende DataFrame automatisk opprette hierarkiske (MultiIndex) kolonner. Du vil se Length på øverste nivå, med min og max pent kategorisert under.
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å medianverdien for lengden 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