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
Sezione 4. Capitolo 4
single

single

bookRaggruppamento Avanzato

Scorri per mostrare il menu

Approfondiamo la nostra conoscenza sul metodo .groupby(). Come ricorderai, possiamo utilizzare il metodo .agg(). Il principale vantaggio di questa funzione è la sua flessibilità: permette di applicare più aggregazioni diverse a più colonne contemporaneamente, restituendo una tabella riepilogativa ordinata.

Guarda l'esempio qui sotto. Abbiamo raggruppato i voli per 'Airline'. Poi, usando .agg(), abbiamo contato il numero totale di voli (utilizzando la colonna 'Delay') e contemporaneamente trovato la durata minima e massima dei voli (utilizzando la colonna 'Length'). Molto 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(): Abbreviazione di "aggregate". Questo metodo prende i dati raggruppati e li condensa in statistiche riepilogative in base alle regole fornite.
  • {}: Si utilizza un dizionario Python per associare colonne specifiche a operazioni specifiche. Le chiavi sono i nomi delle colonne da selezionare, e i valori sono le funzioni da applicare.
  • 'Delay': 'count': Indica a pandas di applicare la funzione count alla colonna 'Delay' per ogni gruppo. Nota che si passa l'alias stringa 'count' invece di scrivere count(). Pandas riconosce questi nomi standard per le statistiche comuni.
  • 'Length': ['min', 'max']: Se si desidera applicare più di una funzione a una singola colonna, è necessario inserire i nomi delle funzioni all'interno di una lista []. Qui calcoliamo sia il valore minimo che quello massimo per la colonna 'Length'.

Poiché sono state applicate più funzioni, il DataFrame risultante creerà automaticamente colonne gerarchiche (MultiIndex). Vedrai Length al livello superiore, con min e max ordinatamente categorizzati sotto di esso.

Compito

Swipe to start coding

Il tuo compito è approfondire e analizzare i tempi medi e massimi di ritardo in base all'aeroporto di partenza del volo e successivamente all'aeroporto di arrivo. Inoltre, osserva 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

Chieda ad AI

expand

Chieda ad AI

ChatGPT

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

some-alt