Come creare una tabella per pivot in Pandas Python

Come creare una tabella per pivot in Pandas Python
Nel Python di Panda, la tabella dei perni comprende somme, conteggi o funzioni di aggregazioni derivate da una tabella di dati. Le funzioni di aggregazione possono essere utilizzate su diverse caratteristiche o valori. Una tabella pivot ci consente di riassumere i dati della tabella raggruppati da valori diversi, inclusi i valori categorici della colonna.

Prima di utilizzare la tabella pivot di Panda, assicurati di comprendere 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 i dati dal file Excel

Abbiamo scaricato un database Excel di vendite di alimenti. Prima di iniziare l'implementazione, è necessario installare alcuni pacchetti necessari per la lettura e la scrittura dei file di database Excel. Digita il seguente comando nella sezione terminale del tuo editor Pycharm:

PIP Installa XLWT OpenPyxl XLSXWRITER XLRD

Ora, leggi i dati dal foglio Excel. Importa le librerie di Panda richieste e modifica il percorso del database. Quindi eseguendo il seguente codice, 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 nella variabile di dati.

Crea la tabella pivot usando Pandas Python

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

Dati pivot su un indice

L'indice è la funzionalità di una tabella pivot che consente di raggruppare i tuoi dati in base ai requisiti. Qui, abbiamo preso il "prodotto" come indice per creare una tabella di base 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 = ["Product"])
Stampa (Pivot_Tble)

Il seguente risultato mostra dopo l'esecuzione del 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 tale scopo, aggiungi il parametro VALORI nella tabella per 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')
Stampa (Pivot_Tble)

Dati pivot con multi-indice

I dati possono essere raggruppati in base a più di una funzione 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, è possibile visualizzare l'indice "Prodotto" e "Categoria" con "quantità" disponibile e "unità" 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 = ["categoria", "prodotto"], valori = ["unità", "quantità"])
Stampa (Pivot_Tble)

Applicazione della funzione di aggregazione nella tabella dei perni

In una tabella pivot, l'aggfunc può essere applicato per valori di funzionalità diversi. La tabella risultante è il riepilogo dei dati delle funzionalità. La funzione aggregata si applica ai dati del gruppo in Pivot_table. Per impostazione predefinita la funzione aggregata è NP.Significare(). Ma, in base ai requisiti dell'utente, possono essere applicate diverse funzioni aggregate per diverse funzionalità di dati.

Esempio:

In questo esempio abbiamo applicato funzioni aggregate. Il NP.La funzione Sum () viene utilizzata per la funzione "Quantità" e NP.funzione media () 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 = ["categoria", "prodotto"], aggfunc = 'quantità': np.Sum, "UnitPrice": NP.Significare)
Stampa (Pivot_Tble)

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

Utilizzando il parametro Valore, è possibile applicare anche la funzione aggregata per una funzione specifica. Se non specificherai il valore della funzione, aggrega le funzionalità numeriche del tuo database. Seguendo il codice sorgente indicato, è possibile applicare la funzione aggregata 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'], valori = ['unitprice'], aggfunc = np.Significare)
Stampa (Pivot_Tble)

Diverso tra i valori vs. Colonne nella tabella per pivot

I valori e le colonne sono il punto di confusione principale nel pivot_table. È importante notare che le colonne sono campi opzionali, visualizzando i valori della tabella risultante in orizzontale in alto. La funzione di aggregazione aggfunc si applica al campo valori che elenca.

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 = ['categoria', 'prodotto', 'città'], valori = ['unitprice', 'quantità'],
colonne = ['regione'], aggfunc = [np.somma])
Stampa (Pivot_Tble)

Gestione dei dati mancanti nella tabella pivot

È inoltre possibile gestire i valori mancanti nella tabella pivot utilizzando il 'fill_value' Parametro. Ciò 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 seguente codice e sostituisce i valori NAN con 0 in tutta la 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 = ['categoria', 'prodotto', 'città'], valori = ['unitprice', 'quantità'],
colonne = ['regione'], aggfunc = [np.somma], riempimento_value = 0)
Stampa (Pivot_Tble)

Filtro nella tabella per pivot

Una volta generato il risultato, è possibile applicare il filtro utilizzando la funzione standard di dati di dati. Facciamo un esempio. Filtra quei prodotti il ​​cui prezzo unitario è inferiore a 60. Mostra 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', valori = 'unitprice', aggfunc = 'sum')
Low_price = pivot_tble [pivot_tble ['unitprice'] < 60]
Print (Low_Price)

Usando un altro metodo di query, è possibile filtrare i risultati. Ad esempio, ad esempio, abbiamo filtrato la categoria dei cookie in base alle seguenti funzionalità:

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 = ["categoria", "città", "regione"], valori = ["unità unità", "quantità"], aggfunc = np.somma)
pt = pivot_tble.query ('category == ["cookies"]')
Stampa (PT)

Produzione:

Visualizza i dati della tabella pivot

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

Importa panda come PD
Importa Numpy come NP
Importa matplotlib.Pyplot come Plt
dataframe = pd.Read_Excel ('C:/Users/Dell/Desktop/FoodSalesData.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (dataframe, index = ["categoria", "prodotto"], valori = ["unitàprice"])
Pivot_Tble.trama (kind = 'bar');
Plt.spettacolo()

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

Conclusione

Abbiamo esplorato come puoi generare una tabella pivot dal frame dati utilizzando Pandas Python. Una tabella pivot consente di generare approfondimenti nei set di dati. Abbiamo visto come generare una semplice tabella pivot usando il multi-indice e applicare i filtri sulle tabelle per pivot. Inoltre, abbiamo anche dimostrato di tracciare i dati della tabella per pivot e riempire i dati mancanti.