Raggruppamento 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):
1234import 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))
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'.
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:
- Raggruppa i dati:
- Estrai le colonne
'AirportFrom','DayOfWeek'e'Time'dadata(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'.
- Estrai le colonne
- Visualizza le prime
10righe didata_flights.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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()`?
Awesome!
Completion rate improved to 3.03
Raggruppamento 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):
1234import 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))
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'.
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:
- Raggruppa i dati:
- Estrai le colonne
'AirportFrom','DayOfWeek'e'Time'dadata(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'.
- Estrai le colonne
- Visualizza le prime
10righe didata_flights.
Soluzione
Grazie per i tuoi commenti!
single