Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Avancerad Gruppering | Aggregering av Data
Datahantering med Pandas
Avsnitt 4. Kapitel 4
single

single

bookAvancerad Gruppering

Svep för att visa menyn

Låt oss fördjupa våra kunskaper om metoden .groupby(). Som du minns kan vi använda metoden .agg(). Den största fördelen med denna funktion är dess flexibilitet: den gör det möjligt att tillämpa flera, olika aggregeringar på flera kolumner samtidigt, vilket ger en tydlig sammanfattningstabell.

Titta på exemplet nedan. Vi grupperade flygningar efter 'Airline'. Sedan, med hjälp av .agg(), räknade vi det totala antalet flygningar (med kolumnen 'Delay') och hittade samtidigt den kortaste och längsta flygtiden (med kolumnen 'Length'). Så smidigt, eller hur?

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

Förklaring:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg(): Förkortning för "aggregate". Denna metod tar den grupperade datan och kondenserar den till sammanfattande statistik baserat på de regler du anger.
  • {}: Vi använder en Python-dictionary för att koppla specifika kolumner till specifika operationer. Nycklarna är kolumnnamnen du vill rikta in dig på, och värdena är de funktioner du vill tillämpa.
  • 'Delay': 'count': Instruerar pandas att använda räkningsfunktionen på kolumnen 'Delay' för varje grupp. Observera att vi skickar strängaliaset 'count' istället för att skriva count(). Pandas känner igen dessa standardiserade strängnamn för vanliga statistiska funktioner.
  • 'Length': ['min', 'max']: Om du vill tillämpa flera funktioner på en och samma kolumn måste du placera funktionsnamnen i en lista []. Här beräknar vi både det minsta och största värdet för kolumnen 'Length'.

Eftersom vi tillämpade flera funktioner kommer den resulterande DataFrame automatiskt att skapa hierarkiska (MultiIndex) kolumner. Du kommer att se Length på den översta nivån, med min och max snyggt kategoriserade under.

Uppgift

Svep för att börja koda

Din uppgift är att fördjupa dig och titta på genomsnittliga och maximala förseningstider beroende på flygplatsen där flyget startade och sedan på flygplatsen där flyget avslutades. Titta även på medianlängden för flygresan. Följ algoritmen:

Gruppera data:

  • Använd metoden .groupby() på datasettet data;
  • Ange kolumnerna .groupby() och 'AirportFrom' inom 'AirportTo'-metoden; ordningen är avgörande;
  • Använd metoden .agg() för att beräkna de aggregerade värdena: medelvärde och maxvärde i kolumnen 'Time', samt medianvärdet för kolumnen 'Length'.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 4
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt