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()?
Fantastico!
Completion tasso migliorato a 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!