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
Tecniche Avanzate in Pandas

bookRaggruppamento Avanzato

Approfondiamo la conoscenza del metodo .groupby(). Come ricorderai, possiamo utilizzare il metodo .agg(). In effetti, il principale vantaggio di questa funzione è che consente 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', quindi contato i valori in 'Delay' per ciascuna 'Airline' e calcolato i valori minimo e massimo per la colonna 'Length'. Molto pratico, 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 utilizzano le parentesi graffe per specificare la colonna e applicare direttamente le funzioni;
  • 'Delay': 'count' - applica la funzione .count() ai valori della colonna 'Delay' aventi la stessa chiave di gruppo;
  • 'Length': ['min', 'max'] - applica le funzioni .min() e .max() ai valori della colonna 'Length' aventi la stessa chiave di gruppo. È sufficiente inserire solo il nome della colonna senza i simboli () o . nella funzione. Nota bene: se si desidera applicare più funzioni alla stessa colonna, è necessario inserirle in una lista.
Compito

Swipe to start coding

Possiamo presumere che un ritardo dipenda dalla compagnia aerea o dall'aeroporto, ma approfondiamo ulteriormente e osserviamo i tempi medi e massimi di ritardo in base all'aeroporto da cui è partito il volo e poi all'aeroporto in cui è atterrato. Inoltre, osserva la lunghezza mediana del volo. Segui l'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

Awesome!

Completion rate improved to 3.03

bookRaggruppamento Avanzato

Scorri per mostrare il menu

Approfondiamo la conoscenza del metodo .groupby(). Come ricorderai, possiamo utilizzare il metodo .agg(). In effetti, il principale vantaggio di questa funzione è che consente 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', quindi contato i valori in 'Delay' per ciascuna 'Airline' e calcolato i valori minimo e massimo per la colonna 'Length'. Molto pratico, 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 utilizzano le parentesi graffe per specificare la colonna e applicare direttamente le funzioni;
  • 'Delay': 'count' - applica la funzione .count() ai valori della colonna 'Delay' aventi la stessa chiave di gruppo;
  • 'Length': ['min', 'max'] - applica le funzioni .min() e .max() ai valori della colonna 'Length' aventi la stessa chiave di gruppo. È sufficiente inserire solo il nome della colonna senza i simboli () o . nella funzione. Nota bene: se si desidera applicare più funzioni alla stessa colonna, è necessario inserirle in una lista.
Compito

Swipe to start coding

Possiamo presumere che un ritardo dipenda dalla compagnia aerea o dall'aeroporto, ma approfondiamo ulteriormente e osserviamo i tempi medi e massimi di ritardo in base all'aeroporto da cui è partito il volo e poi all'aeroporto in cui è atterrato. Inoltre, osserva la lunghezza mediana del volo. Segui l'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