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 utöka våra kunskaper om metoden .groupby(). Som du kanske minns kan vi använda metoden .agg(). Den största fördelen med denna funktion är dess flexibilitet: den låter oss tillämpa flera, olika aggregeringar på flera kolumner samtidigt, och returnerar 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'). Väldigt 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 de grupperade data och kondenserar dem 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 funktionerna 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 standardnamn för vanliga statistiska funktioner.
  • 'Length': ['min', 'max']: Om du vill använda 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 använde 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å medianvärdet för flygets längd. 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 i 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