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 målrette, og verdiene er funksjonene du vil bruke.'Delay': 'count': Ber pandas bruke tellefunksjonen på'Delay'-kolonnen for hver gruppe. Merk at vi sender inn strengen'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.
Sveip for å begynne å kode
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