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
Avancerade tekniker i pandas

bookAvancerad Gruppering

Låt oss utöka våra kunskaper om metoden .groupby(). Som du minns kan vi använda metoden .agg(). Faktum är att den största fördelen med denna funktion är att vi kan tillämpa olika funktioner på de numeriska kolumnerna med en gruppnyckel. Titta på exemplet där vi grupperade flygningar efter kolumnen 'Airline', sedan räknade värdena i 'Delay' för varje 'Airline', och beräknade minimi- och maximivärdena för 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() – en metod som gör det möjligt att tillämpa funktioner på en serie eller på varje element separat;
  • {} – vi använder klamrar för att specificera kolumnen och tillämpa funktioner direkt på dem;
  • 'Delay': 'count' – tillämpar funktionen .count() på värdena i kolumnen 'Delay' med samma gruppnyckel;
  • 'Length': ['min', 'max'] – tillämpar funktionerna .min() och .max() på värdena i kolumnen 'Length' med samma gruppnyckel. Du behöver endast ange kolumnnamnet utan () eller .-symboler i funktionen. Observera att om du vill tillämpa flera funktioner på samma kolumn måste du lägga dem i en lista.
Uppgift

Swipe to start coding

Vi kan anta att en försening beror på flygbolaget eller flygplatsen, men låt oss undersöka närmare och titta på genomsnittliga och maximala försenings­tider beroende på flygplatsen där flyget startade och därefter på flygplatsen där flyget avslutades. Titta även på medianvärdet för flygsträckans 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 aggregerade värden: medelvärde och maxvärde i kolumnen 'Time', samt medianvärde för kolumnen 'Length'.

Lösning

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

close

Awesome!

Completion rate improved to 3.03

bookAvancerad Gruppering

Svep för att visa menyn

Låt oss utöka våra kunskaper om metoden .groupby(). Som du minns kan vi använda metoden .agg(). Faktum är att den största fördelen med denna funktion är att vi kan tillämpa olika funktioner på de numeriska kolumnerna med en gruppnyckel. Titta på exemplet där vi grupperade flygningar efter kolumnen 'Airline', sedan räknade värdena i 'Delay' för varje 'Airline', och beräknade minimi- och maximivärdena för 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() – en metod som gör det möjligt att tillämpa funktioner på en serie eller på varje element separat;
  • {} – vi använder klamrar för att specificera kolumnen och tillämpa funktioner direkt på dem;
  • 'Delay': 'count' – tillämpar funktionen .count() på värdena i kolumnen 'Delay' med samma gruppnyckel;
  • 'Length': ['min', 'max'] – tillämpar funktionerna .min() och .max() på värdena i kolumnen 'Length' med samma gruppnyckel. Du behöver endast ange kolumnnamnet utan () eller .-symboler i funktionen. Observera att om du vill tillämpa flera funktioner på samma kolumn måste du lägga dem i en lista.
Uppgift

Swipe to start coding

Vi kan anta att en försening beror på flygbolaget eller flygplatsen, men låt oss undersöka närmare och titta på genomsnittliga och maximala försenings­tider beroende på flygplatsen där flyget startade och därefter på flygplatsen där flyget avslutades. Titta även på medianvärdet för flygsträckans 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 aggregerade värden: medelvärde och maxvärde i kolumnen 'Time', samt medianvärde 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

some-alt