Pitón | Pandas.pivote()
pandas.pivot (índice, columnas, valores) La función produce una tabla dinámica basada en 3 columnas del DataFrame. Utiliza valores únicos del índice/columnas y los llena con valores.
Sintaxis de Python Pandas.pivot()
Sintaxis : pandas.pivot(índice, columnas, valores)
Parámetros:
- índice[ndarray] : Etiquetas que se utilizarán para crear el índice de un nuevo cuadro
- columnas[ndarray] : Etiquetas que se utilizarán para crear las columnas del nuevo marco.
- valores[ndarray] : Valores a utilizar para completar los valores del nuevo marco
Devoluciones: Marco de datos reformado
Excepción: ValueError se genera si hay duplicados.
Crear un marco de datos de muestra
Aquí, estamos creando un DataFrame de muestra que usaremos en todo el artículo.
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> |
Producción
A B C 0 John Masters 27 1 Boby Graduate 23 2 Mina Graduate 21
Ejemplos de funciones de Pandas pivot()
A continuación se muestran algunos ejemplos mediante los cuales podemos pivotar un DataFrame usando pandas función pivote() en Pitón :
- Creando y Pivotar un marco de datos
- Crear una tabla dinámica de varios niveles con Marco de datos de Pandas
- ValueError al pivotar un marco de datos
Creando y Pivotar un marco de datos
En este ejemplo, un DataFrame de pandas ( df> ) se gira con las columnas 'A' y 'B' convirtiéndose en el nuevo índice y columnas, respectivamente, y los valores en la columna 'C' llenan las celdas de la tabla dinámica resultante. La función supone que cada combinación de 'A' y 'B' tiene un valor correspondiente único en 'C'.
Python3
# values can be an object or a list> df.pivot(> 'A'> ,> 'B'> ,> 'C'> )> |
Producción
B Graduate Masters A Boby 23.0 NaN John NaN 27.0 Mina 21.0 NaN
Crear una tabla dinámica de varios niveles con Pandas DataFrame
En este ejemplo, el DataFrame de pandas ( df> ) se transforma en una tabla dinámica de varios niveles, utilizando 'A' como índice, 'B' como columnas y extrayendo valores de ambas columnas 'C' y 'A' para llenar las celdas. Este enfoque permite una representación más detallada de los datos, incorporando múltiples dimensiones en la tabla dinámica resultante.
Python3
# value is a list> df.pivot(index> => 'A'> , columns> => 'B'> , values> => [> 'C'> ,> 'A'> ])> |
Producción
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 generado al girar un marco de datos
Genera ValueError cuando hay combinaciones de índices y columnas con múltiples valores.
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'> )> |
Producción
ValueError: Index contains duplicate entries, cannot reshape