Pitone | Pandas.pivot()

pandas.pivot(indice, colonne, valori) la funzione produce una tabella pivot basata su 3 colonne del DataFrame. Utilizza valori univoci dall'indice/colonne e li riempie con valori.

Sintassi Python Pandas.pivot()

Sintassi : pandas.pivot(indice, colonne, valori)

parametri:

  1. indice[ndarray] : Etichette da utilizzare per creare l'indice del nuovo frame
  2. colonne[ndarray]: Etichette da utilizzare per creare le colonne della nuova cornice
  3. valori[ndarray]: Valori da utilizzare per popolare i valori del nuovo frame

Ritorna: DataFrame rimodellato
Eccezione: ValueError sollevato se sono presenti duplicati.

Creazione di un DataFrame di esempio

Qui stiamo creando un DataFrame di esempio che utilizzeremo nel nostro articolo.

Python3




# importing pandas as pd> import> pandas as pd> > # creating a dataframe> df> => pd.DataFrame({> 'A'> : [> 'John'> ,> 'Boby'> ,> 'Mina'> ],> > 'B'> : [> 'Masters'> ,> 'Graduate'> ,> 'Graduate'> ],> > 'C'> : [> 27> ,> 23> ,> 21> ]})> > df>

Produzione

 A B C 0 John Masters 27 1 Boby Graduate 23 2 Mina Graduate 21 

Esempi di funzioni Pandas pivot()

Di seguito sono riportati alcuni esempi in base ai quali possiamo ruotare un DataFrame utilizzando Panda funzione pivot() in Pitone :

  • Creare e Ruota un DataFrame
  • Creazione di una tabella pivot multilivello con Panda DataFrame
  • ValueError nel pivot di un DataFrame

Creare e Ruota un DataFrame

In questo esempio, un DataFrame panda ( df> ) viene ruotato con le colonne 'A' e 'B' che diventano rispettivamente il nuovo indice e le colonne e i valori nella colonna 'C' popolano le celle della tabella pivot risultante. La funzione presuppone che ciascuna combinazione di 'A' e 'B' abbia un valore corrispondente univoco in 'C'.

Python3




# values can be an object or a list> df.pivot(> 'A'> ,> 'B'> ,> 'C'> )>

Produzione

B Graduate Masters A Boby 23.0 NaN John NaN 27.0 Mina 21.0 NaN 

Creazione di una tabella pivot multilivello con Pandas DataFrame

In questo esempio, il DataFrame dei panda ( df> ) viene trasformato in una tabella pivot multilivello, utilizzando 'A' come indice, 'B' come colonne ed estraendo valori da entrambe le colonne 'C' e 'A' per riempire le celle. Questo approccio consente una rappresentazione più dettagliata dei dati, incorporando più dimensioni nella tabella pivot risultante.

Python3




# value is a list> df.pivot(index> => 'A'> , columns> => 'B'> , values> => [> 'C'> ,> 'A'> ])>

Produzione

 C A B Graduate Masters Graduate Masters A Boby 23.0 NaN NaN NaN John NaN 27.0 NaN NaN Mina 21.0 NaN NaN NaN 

ValueError sollevato durante il pivoting di un DataFrame

Aumenta ValueError quando sono presenti indici e combinazioni di colonne con più valori.

Python3




# importing pandas as pd> import> pandas as pd> > # creating a dataframe> df> => pd.DataFrame({> 'A'> : [> 'John'> ,> 'John'> ,> 'Mina'> ],> > 'B'> : [> 'Masters'> ,> 'Masters'> ,> 'Graduate'> ],> > 'C'> : [> 27> ,> 23> ,> 21> ]})> > > df.pivot(> 'A'> ,> 'B'> ,> 'C'> )>

Produzione

ValueError: Index contains duplicate entries, cannot reshape