Python | Pandas.pivot()

pandas.pivot(índex, columnes, valors) La funció produeix una taula dinàmica basada en 3 columnes del DataFrame. Utilitza valors únics de l'índex/columnes i els omple amb valors.

Sintaxi de Python Pandas.pivot().

Sintaxi : pandas.pivot(índex, columnes, valors)

Paràmetres:

  1. índex[ndarray]: Etiquetes que s'utilitzen per crear un nou índex de marc
  2. columnes[ndarray]: Etiquetes que s'utilitzen per fer columnes de marc nous
  3. valors[ndarray]: Valors que s'han d'utilitzar per emplenar els valors del marc nou

Devolucions: DataFrame remodelat
Excepció: ValueError generat si hi ha duplicats.

Creació d'un marc de dades de mostra

Aquí, estem fent una mostra de DataFrame que farem servir al nostre article.

Python 3




# 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>

Sortida

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

Exemples de funcions Pandas pivot().

A continuació es mostren alguns exemples amb els quals podem pivotar un DataFrame utilitzant Pandes funció pivot() a Python :

  • Creant i Gireu un DataFrame
  • Creació d'una taula dinàmica multinivell amb Pandas DataFrame
  • ValueError al pivotar un DataFrame

Creant i Gireu un DataFrame

En aquest exemple, un Pandas DataFrame ( df> ) es pivota amb les columnes 'A' i 'B' convertint-se en l'índex i les columnes nous, respectivament, i els valors de la columna 'C' que omplen les cel·les de la taula dinàmica resultant. La funció suposa que cada combinació de 'A' i 'B' té un valor corresponent únic a 'C'.

Python 3




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

Sortida

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

Creació d'una taula dinàmica multinivell amb Pandas DataFrame

En aquest exemple, el Pandas DataFrame ( df> ) es transforma en una taula dinàmica de diversos nivells, utilitzant 'A' com a índex, 'B' com a columnes i extreu valors de les dues columnes 'C' i 'A' per omplir les cel·les. Aquest enfocament permet una representació més detallada de les dades, incorporant múltiples dimensions a la taula dinàmica resultant.

Python 3




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

Sortida

 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 generat en pivotar un DataFrame

Augmenteu ValueError quan hi ha qualsevol índex, combinacions de columnes amb diversos valors.

Python 3




# 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'> )>

Sortida

ValueError: Index contains duplicate entries, cannot reshape