Avancerad 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?
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))
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.
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örseningstider 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å datasettetdata
; - 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
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.03
Avancerad 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?
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))
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.
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örseningstider 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å datasettetdata
; - 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
Tack för dina kommentarer!
single