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
Can you explain what the output of this code would look like?
What other functions can I use with `.agg()` besides 'count', 'min', and 'max'?
How can I group by multiple columns using `.groupby()` and `.agg()`?
Fantastico!
Completion tasso migliorato a 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