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 nostra funzione calcolerà il numero di righe nella colonna 'Delay' che hanno lo stesso valore nella colonna 'Airline' per ogni gruppo 'Flight'.

Compito

Swipe to start coding

Il tuo compito qui è raggruppare i dati per l'aeroporto da cui è partito il volo e poi per il giorno della settimana. Calcola il tempo medio per ciascun gruppo. Segui l'algoritmo per gestire il compito:

  1. Raggruppa i dati:
    • Estrai le colonne 'AirportFrom', 'DayOfWeek' e 'Time' da data (in questo ordine);
    • Applica il metodo .groupby() alle colonne precedenti;
    • All'interno del metodo .groupby(), inserisci le colonne 'AirportFrom' e 'DayOfWeek'; l'ordine è fondamentale;
    • Calcola il valore medio della colonna 'Time'.
  2. Visualizza 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 nostra funzione calcolerà il numero di righe nella colonna 'Delay' che hanno lo stesso valore nella colonna 'Airline' per ogni gruppo 'Flight'.

Compito

Swipe to start coding

Il tuo compito qui è raggruppare i dati per l'aeroporto da cui è partito il volo e poi per il giorno della settimana. Calcola il tempo medio per ciascun gruppo. Segui l'algoritmo per gestire il compito:

  1. Raggruppa i dati:
    • Estrai le colonne 'AirportFrom', 'DayOfWeek' e 'Time' da data (in questo ordine);
    • Applica il metodo .groupby() alle colonne precedenti;
    • All'interno del metodo .groupby(), inserisci le colonne 'AirportFrom' e 'DayOfWeek'; l'ordine è fondamentale;
    • Calcola il valore medio della colonna 'Time'.
  2. Visualizza 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