Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Avanceret Gruppering | Aggregering af Data
Data Wrangling med Pandas
Sektion 4. Kapitel 4
single

single

bookAvanceret Gruppering

Stryg for at vise menuen

Lad os udvide vores viden om .groupby()-metoden. Som du husker, kan vi bruge .agg()-metoden. Den primære fordel ved denne funktion er dens fleksibilitet: den gør det muligt at anvende flere, forskellige aggregeringer på flere kolonner samtidigt, hvilket returnerer en overskuelig oversigtstabel.

Se eksemplet nedenfor. Vi grupperede flyvninger efter 'Airline'. Derefter brugte vi .agg() til at tælle det samlede antal flyvninger (ved hjælp af kolonnen 'Delay') og samtidig finde den korteste og længste flyvetid (ved hjælp af kolonnen 'Length'). Meget praktisk, ikke sandt?

1234
import 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))
copy

Forklaring:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg(): Forkortelse for "aggregate". Denne metode tager de grupperede data og kondenserer dem til oversigtsstatistikker baseret på de regler, du angiver.
  • {}: Vi bruger en Python-ordbog til at knytte specifikke kolonner til specifikke operationer. Nøglerne er de kolonnenavne, du vil målrette, og værdierne er de funktioner, du vil anvende.
  • 'Delay': 'count': Angiver til pandas, at tællefunktionen skal anvendes på kolonnen 'Delay' for hver gruppe. Bemærk, at vi bruger streng-aliaset 'count' i stedet for at skrive count(). Pandas genkender disse standard strengnavne for almindelige statistikker.
  • 'Length': ['min', 'max']: Hvis du vil anvende mere end én funktion på en enkelt kolonne, skal du placere funktionsnavnene i en liste []. Her beregner vi både minimums- og maksimumsværdierne for kolonnen 'Length'.

Fordi vi har anvendt flere funktioner, vil den resulterende DataFrame automatisk oprette hierarkiske (MultiIndex) kolonner. Du vil se Length på øverste niveau, med min og max pænt kategoriseret under den.

Opgave

Swipe to start coding

Din opgave er at undersøge gennemsnitlige og maksimale forsinkelsestider afhængigt af den lufthavn, hvorfra flyet startede, og derefter den lufthavn, hvor flyet landede. Undersøg også medianlængden af flyveturen. Følg denne algoritme:

Grupper data:

  • Anvend .groupby()-metoden på datasættet data;
  • Indsæt kolonnerne .groupby() og 'AirportFrom' i 'AirportTo'-metoden; rækkefølgen er vigtig;
  • Brug .agg()-metoden til at beregne de aggregerede værdier: gennemsnit og maksimum i kolonnen 'Time', samt medianværdien i kolonnen 'Length'.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 4
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt