Scienza dei dati

Come creare una tabella pivot in Pandas Python

Come creare una tabella pivot in Pandas Python
In panda's python, la tabella Pivot comprende somme, conteggi o funzioni di aggregazione derivate da una tabella di dati. Le funzioni di aggregazione possono essere utilizzate su diverse caratteristiche o valori. Una tabella pivot ci consente di riepilogare i dati della tabella raggruppati per valori diversi, inclusi i valori categoriali delle colonne column.

Prima di utilizzare la tabella pivot di panda, assicurati di aver compreso i tuoi dati e le domande che stai cercando di risolvere attraverso la tabella pivot. Usando questo metodo, puoi produrre risultati potenti. Elaboreremo in questo articolo come creare una tabella pivot in pandas python.

Leggi dati da file Excel

Abbiamo scaricato un database excel delle vendite alimentari food. Prima di iniziare l'implementazione, è necessario installare alcuni pacchetti necessari per leggere e scrivere i file del database excel. Digita il seguente comando nella sezione terminale del tuo editor pycharm:

pip install xlwt openpyxl xlsxwriter xlrd

Ora leggi i dati dal foglio excel. Importa le librerie del panda richieste e cambia il percorso del tuo database. Quindi eseguendo il codice seguente, i dati possono essere recuperati dal file.

importa panda come pd
importa numpy come np
dtfrm = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
stampa (dtfrm)

Qui, i dati vengono letti dal database excel delle vendite alimentari e passati alla variabile dataframe.

Crea una tabella pivot usando Pandas Python

Di seguito abbiamo creato una semplice tabella pivot utilizzando il database delle vendite alimentari food. Sono necessari due parametri per creare una tabella pivot. Il primo sono i dati che abbiamo passato nel dataframe e l'altro è un indice.

Dati pivot su un indice

L'indice è la caratteristica di una tabella pivot che consente di raggruppare i dati in base ai requisiti. Qui, abbiamo preso "Prodotto" come indice per creare una tabella pivot di base.

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
pivot_tble=pd.pivot_table(dataframe,index=["Prodotto"])
print(pivot_tble)

Il seguente risultato viene mostrato dopo aver eseguito il codice sorgente sopra:

Definire esplicitamente le colonne

Per ulteriori analisi dei tuoi dati, definisci esplicitamente i nomi delle colonne con l'indice. Ad esempio, vogliamo visualizzare l'unico Prezzo Unitario di ciascun prodotto nel risultato. A questo scopo, aggiungi il parametro dei valori nella tabella pivot. Il seguente codice ti dà lo stesso risultato:

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
pivot_tble=pd.pivot_table(dataframe, index='Prodotto', valori='UnitPrice')
print(pivot_tble)

Dati pivot con multi-indice

I dati possono essere raggruppati in base a più di una caratteristica come indice. Utilizzando l'approccio multi-indice, è possibile ottenere risultati più specifici per l'analisi dei dati. Ad esempio, i prodotti rientrano in diverse categorie. Quindi, puoi visualizzare l'indice "Prodotto" e "Categoria" con "Quantità" e "Prezzo unitario" disponibili di ciascun prodotto come segue:

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
pivot_tble=pd.pivot_table(dataframe,index=["Category","Prodotto"],values=["UnitPrice", "Quantity"])
print(pivot_tble)

Applicazione della funzione di aggregazione nella tabella pivot

In una tabella pivot, aggfunc può essere applicato per diversi valori di funzionalità feature. La tabella risultante è il riepilogo dei dati delle caratteristiche feature. La funzione di aggregazione si applica ai dati del tuo gruppo in pivot_table. Per impostazione predefinita, la funzione aggregata è np.significare(). Tuttavia, in base ai requisiti dell'utente, possono essere applicate diverse funzioni aggregate per diverse funzionalità dei dati.

Esempio:

Abbiamo applicato funzioni aggregate in questo esempio. il np.La funzione sum() viene utilizzata per la funzione 'Quantità' e np.funzione mean() per la funzione 'UnitPrice'.

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
pivot_tble=pd.pivot_table(dataframe,index=["Category","Product"], aggfunc='Quantità': np.sum,'UnitPrice': np.significare)
print(pivot_tble)

Dopo aver applicato la funzione di aggregazione per diverse funzionalità, otterrai il seguente output:

Usando il parametro value, puoi anche applicare la funzione aggregata per una caratteristica specifica. Se non specifichi il valore della caratteristica, aggrega le caratteristiche numeriche del tuo database. Seguendo il codice sorgente fornito, puoi applicare la funzione di aggregazione per una funzione specifica:

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
pivot_tble=pd.pivot_table(dataframe, index=['Product'], values=['UnitPrice'], aggfunc=np.significare)
print(pivot_tble)

Diverso tra valori vs. Colonne nella tabella pivot

I valori e le colonne sono il principale punto di confusione in pivot_table. È importante notare che le colonne sono campi facoltativi, che mostrano i valori della tabella risultante orizzontalmente in alto. La funzione di aggregazione aggfunc si applica al campo dei valori che elenchi.

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
pivot_tble=pd.pivot_table(dataframe,index=['Category','Product', 'City'],values=['UnitPrice', 'Quantity'],
colonne=['Regione'],aggfunc=[np.somma])
print(pivot_tble)

Gestione dei dati mancanti nella tabella pivot

Puoi anche gestire i valori mancanti nella tabella Pivot usando il 'valore_riempimento' Parametro. Ciò ti consente di sostituire i valori NaN con un nuovo valore che fornisci per riempire.

Ad esempio, abbiamo rimosso tutti i valori null dalla tabella risultante sopra eseguendo il codice seguente e sostituisce i valori NaN con 0 nell'intera tabella risultante.

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx')
pivot_tble=pd.pivot_table(dataframe,index=['Category','Product', 'City'],values=['UnitPrice', 'Quantity'],
colonne=['Regione'],aggfunc=[np.somma], fill_value=0)
print(pivot_tble)

Filtraggio nella tabella pivot

Una volta generato il risultato, puoi applicare il filtro utilizzando la funzione dataframe standard. Facciamo un esempio. Filtra quei prodotti il ​​cui prezzo unitario è inferiore a 60. Visualizza quei prodotti il ​​cui prezzo è inferiore a 60.

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx', index_col=0)
pivot_tble=pd.pivot_table(dataframe, index='Product', values='UnitPrice', aggfunc='sum')
low_price=pivot_tble[pivot_tble['UnitPrice'] < 60]
stampa(prezzo_basso)

Utilizzando un altro metodo di query, puoi filtrare i risultati. Ad esempio, ad esempio, abbiamo filtrato la categoria dei cookie in base alle seguenti caratteristiche:

importa panda come pd
importa numpy come np
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx', index_col=0)
pivot_tble=pd.pivot_table(dataframe,index=["Category","Città","Regione"],values=["PrezzoUnitario", "Quantità"],aggfunc=np.somma)
pt=pivot_tble.query('Categoria == ["Cookie"]')
stampa(pt)

Produzione:

Visualizza i dati della tabella pivot

Per visualizzare i dati della tabella pivot, seguire il metodo seguente:

importa panda come pd
importa numpy come np
import matplotlib.pyplot come plt
dataframe = pd.read_excel('C:/Users/DELL/Desktop/foodsalesdata.xlsx', index_col=0)
pivot_tble=pd.pivot_table(dataframe,index=["Category","Product"],values=["UnitPrice"])
pivot_tble.plot(tipo='bar');
per favore.mostrare()

Nella visualizzazione sopra, abbiamo mostrato il prezzo unitario dei diversi prodotti insieme alle categorie.

Conclusione

Abbiamo esplorato come è possibile generare una tabella pivot dal dataframe utilizzando Pandas python. Una tabella pivot ti consente di generare informazioni approfondite sui tuoi set di dati. Abbiamo visto come generare una semplice tabella pivot utilizzando il multi-indice e applicare i filtri sulle tabelle pivot. Inoltre, abbiamo anche dimostrato di tracciare i dati della tabella pivot e riempire i dati mancanti.

I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...
Le migliori app di mappatura del gamepad per Linux
Se ti piace giocare su Linux con un gamepad invece di un tipico sistema di input di tastiera e mouse, ci sono alcune app utili per te. Molti giochi pe...
Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...