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:
- índex[ndarray]: Etiquetes que s'utilitzen per crear un nou índex de marc
- columnes[ndarray]: Etiquetes que s'utilitzen per fer columnes de marc nous
- 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