Gestione delle Tabelle Pivot
Python dispone di un analogo del metodo .groupby() che può portare allo stesso risultato. La scelta della funzione da utilizzare spetta a te. Approfondiamo questo aspetto tramite un esempio. Utilizzando la seguente funzione, chiamata .pivot_table(), calcoleremo i valori medi della colonna 'Length' che presentano lo stesso valore nella colonna 'Flight':
123456789101112131415import 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) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
Spiegazione:
data = pd.pivot_table(data, values = 'Length',
index = 'Flight',
aggfunc = 'mean')
pd.pivot_table()- funzione che crea tabelle pivot;data- data frame utilizzato;values = 'Length'- all'argomentovaluessi assegnano le colonne con lo stesso gruppo, sulle quali verrà applicato il calcolo della media, massimo, ecc. Se si desidera raggruppare per più colonne, inserirle in una lista; l'ordine non è rilevante;index = 'Flight'-indexè un argomento a cui si assegna il nome di una colonna o di colonne su cui effettuare il raggruppamento. Se si desidera raggruppare per più colonne, inserirle in una lista; l'ordine è rilevante, come nella funzione.groupby();aggfunc = 'mean'- come peraggnel metodo.groupby(),aggfuncha esattamente la stessa sintassi diagg. È quindi possibile inserire più funzioni, elencandole in una lista, per specificare funzioni diverse per colonne differenti utilizzando le parentesi graffe.
Grazie per i tuoi commenti!
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 the difference between .groupby() and .pivot_table() in more detail?
What other aggregation functions can I use with .pivot_table()?
How can I group by multiple columns using .pivot_table()?
Awesome!
Completion rate improved to 3.03
Gestione delle Tabelle Pivot
Scorri per mostrare il menu
Python dispone di un analogo del metodo .groupby() che può portare allo stesso risultato. La scelta della funzione da utilizzare spetta a te. Approfondiamo questo aspetto tramite un esempio. Utilizzando la seguente funzione, chiamata .pivot_table(), calcoleremo i valori medi della colonna 'Length' che presentano lo stesso valore nella colonna 'Flight':
123456789101112131415import 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) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
Spiegazione:
data = pd.pivot_table(data, values = 'Length',
index = 'Flight',
aggfunc = 'mean')
pd.pivot_table()- funzione che crea tabelle pivot;data- data frame utilizzato;values = 'Length'- all'argomentovaluessi assegnano le colonne con lo stesso gruppo, sulle quali verrà applicato il calcolo della media, massimo, ecc. Se si desidera raggruppare per più colonne, inserirle in una lista; l'ordine non è rilevante;index = 'Flight'-indexè un argomento a cui si assegna il nome di una colonna o di colonne su cui effettuare il raggruppamento. Se si desidera raggruppare per più colonne, inserirle in una lista; l'ordine è rilevante, come nella funzione.groupby();aggfunc = 'mean'- come peraggnel metodo.groupby(),aggfuncha esattamente la stessa sintassi diagg. È quindi possibile inserire più funzioni, elencandole in una lista, per specificare funzioni diverse per colonne differenti utilizzando le parentesi graffe.
Grazie per i tuoi commenti!