Raggruppamento Avanzato
Approfondiamo la nostra conoscenza sul metodo .groupby(). Come ricorderai, possiamo utilizzare il metodo .agg(). Infatti, il principale vantaggio di questa funzione è che permette di applicare funzioni diverse alle colonne numeriche con una sola chiave di raggruppamento. Osserva l'esempio in cui abbiamo raggruppato i voli per la colonna 'Airline', poi contato i valori in 'Delay' per ciascuna 'Airline', e calcolato i valori minimo e massimo per la colonna 'Length'. Davvero comodo, vero?
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))
Spiegazione:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()- metodo che consente di applicare funzioni su una serie o su ciascun elemento separatamente;{}- si usano le parentesi graffe per specificare la colonna e applicare direttamente le funzioni;'Delay': 'count'- applica la funzione.count()ai valori della colonna'Delay'che hanno la stessa chiave di gruppo;'Length': ['min', 'max']- applica le funzioni.min()e.max()ai valori della colonna'Length'che hanno la stessa chiave di gruppo. È sufficiente inserire solo il nome della colonna senza i simboli()o.nella funzione. Attenzione: se si desidera applicare più funzioni alla stessa colonna, è necessario inserirle in una lista.
Swipe to start coding
Il tuo compito è approfondire l'analisi osservando i tempi medi e massimi di ritardo in base all'aeroporto di partenza del volo e successivamente all'aeroporto di arrivo. Analizza inoltre la lunghezza mediana del volo. Segui il seguente algoritmo:
Raggruppamento dei dati:
- Applica il metodo
.groupby()al datasetdata; - All'interno del metodo
.groupby(), inserisci le colonne'AirportFrom'e'AirportTo'; l'ordine è fondamentale; - Utilizzando il metodo
.agg(), calcola i valori aggregati: il valore medio e massimo nella colonna'Time'e il valore mediano della colonna'Length'.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.03
Raggruppamento Avanzato
Scorri per mostrare il menu
Approfondiamo la nostra conoscenza sul metodo .groupby(). Come ricorderai, possiamo utilizzare il metodo .agg(). Infatti, il principale vantaggio di questa funzione è che permette di applicare funzioni diverse alle colonne numeriche con una sola chiave di raggruppamento. Osserva l'esempio in cui abbiamo raggruppato i voli per la colonna 'Airline', poi contato i valori in 'Delay' per ciascuna 'Airline', e calcolato i valori minimo e massimo per la colonna 'Length'. Davvero comodo, vero?
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))
Spiegazione:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg()- metodo che consente di applicare funzioni su una serie o su ciascun elemento separatamente;{}- si usano le parentesi graffe per specificare la colonna e applicare direttamente le funzioni;'Delay': 'count'- applica la funzione.count()ai valori della colonna'Delay'che hanno la stessa chiave di gruppo;'Length': ['min', 'max']- applica le funzioni.min()e.max()ai valori della colonna'Length'che hanno la stessa chiave di gruppo. È sufficiente inserire solo il nome della colonna senza i simboli()o.nella funzione. Attenzione: se si desidera applicare più funzioni alla stessa colonna, è necessario inserirle in una lista.
Swipe to start coding
Il tuo compito è approfondire l'analisi osservando i tempi medi e massimi di ritardo in base all'aeroporto di partenza del volo e successivamente all'aeroporto di arrivo. Analizza inoltre la lunghezza mediana del volo. Segui il seguente algoritmo:
Raggruppamento dei dati:
- Applica il metodo
.groupby()al datasetdata; - All'interno del metodo
.groupby(), inserisci le colonne'AirportFrom'e'AirportTo'; l'ordine è fondamentale; - Utilizzando il metodo
.agg(), calcola i valori aggregati: il valore medio e massimo nella colonna'Time'e il valore mediano della colonna'Length'.
Soluzione
Grazie per i tuoi commenti!
single