Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Raggruppamento per Più Colonne | Aggregazione Dei Dati
Tecniche Avanzate in Pandas

bookRaggruppamento per Più Colonne

Aggiungiamo alcune informazioni sul metodo .groupby(). È possibile raggruppare per più colonne, ma in questo caso l'ordine è fondamentale. Nel capitolo precedente, abbiamo raggruppato i dati per numero di volo e contato il numero di ritardi. Possiamo rendere questo compito più complesso raggruppando non solo per la colonna 'Flight', ma anche per la colonna 'Airline'. Rivedi le informazioni sul dataset e poi osserva questo semplice esempio (l'output contiene solo le prime 10 righe):

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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Spiegazione:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] - colonne su cui lavorare, incluse quelle su cui si effettua il raggruppamento;
  • .groupby(['Flight', 'Airline']) - qui, 'Flight' e 'Airline' sono argomenti della funzione .groupby().

Attenzione: se si desidera raggruppare per più colonne, inserirle in una lista - l'ordine è fondamentale. Quindi, nel nostro caso, se le righe del dataset hanno lo stesso valore nella colonna 'Flight', esse apparterranno a un gruppo. All'interno di questi gruppi, la funzione individua altri gruppi per le righe con lo stesso valore nella colonna 'Airline'. Poi, grazie al metodo .count() che conta le righe, la funzione calcolerà il numero di righe nella colonna 'Delay' che hanno lo stesso valore nella colonna 'Airline' per ciascun gruppo 'Flight'.

Compito

Swipe to start coding

Il compito consiste nel raggruppare i dati in base all'aeroporto di partenza del volo e successivamente al giorno della settimana. Calcolare il tempo medio per ciascun gruppo. Seguire il seguente algoritmo per gestire il compito:

  1. Raggruppamento dei dati:
    • Estrarre le colonne 'AirportFrom', 'DayOfWeek' e 'Time' da data (in questo ordine);
    • Applicare il metodo .groupby() alle colonne precedentemente estratte;
    • All'interno del metodo .groupby(), inserire le colonne 'AirportFrom' e 'DayOfWeek'; l'ordine è fondamentale;
    • Calcolare il valore medio della colonna 'Time'.
  2. Visualizzare le prime 10 righe di data_flights.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
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 why the order of columns in `.groupby()` matters?

What does the `.count()` method do in this context?

Can you show how the output would change if we switched the order of the columns in `.groupby()`?

close

Awesome!

Completion rate improved to 3.03

bookRaggruppamento per Più Colonne

Scorri per mostrare il menu

Aggiungiamo alcune informazioni sul metodo .groupby(). È possibile raggruppare per più colonne, ma in questo caso l'ordine è fondamentale. Nel capitolo precedente, abbiamo raggruppato i dati per numero di volo e contato il numero di ritardi. Possiamo rendere questo compito più complesso raggruppando non solo per la colonna 'Flight', ma anche per la colonna 'Airline'. Rivedi le informazioni sul dataset e poi osserva questo semplice esempio (l'output contiene solo le prime 10 righe):

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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Spiegazione:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] - colonne su cui lavorare, incluse quelle su cui si effettua il raggruppamento;
  • .groupby(['Flight', 'Airline']) - qui, 'Flight' e 'Airline' sono argomenti della funzione .groupby().

Attenzione: se si desidera raggruppare per più colonne, inserirle in una lista - l'ordine è fondamentale. Quindi, nel nostro caso, se le righe del dataset hanno lo stesso valore nella colonna 'Flight', esse apparterranno a un gruppo. All'interno di questi gruppi, la funzione individua altri gruppi per le righe con lo stesso valore nella colonna 'Airline'. Poi, grazie al metodo .count() che conta le righe, la funzione calcolerà il numero di righe nella colonna 'Delay' che hanno lo stesso valore nella colonna 'Airline' per ciascun gruppo 'Flight'.

Compito

Swipe to start coding

Il compito consiste nel raggruppare i dati in base all'aeroporto di partenza del volo e successivamente al giorno della settimana. Calcolare il tempo medio per ciascun gruppo. Seguire il seguente algoritmo per gestire il compito:

  1. Raggruppamento dei dati:
    • Estrarre le colonne 'AirportFrom', 'DayOfWeek' e 'Time' da data (in questo ordine);
    • Applicare il metodo .groupby() alle colonne precedentemente estratte;
    • All'interno del metodo .groupby(), inserire le colonne 'AirportFrom' e 'DayOfWeek'; l'ordine è fondamentale;
    • Calcolare il valore medio della colonna 'Time'.
  2. Visualizzare le prime 10 righe di data_flights.

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 2
single

single

some-alt