Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Raggruppamento Avanzato | Aggregazione Dei Dati
Data Wrangling con Pandas

bookRaggruppamento 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?

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

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.
Compito

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 dataset data;
  • 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

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

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()`?

close

bookRaggruppamento 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?

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

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.
Compito

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 dataset data;
  • 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

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
single

single

some-alt