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:

  1. índice[ndarray] : Etiquetas que se utilizarán para crear el índice de un nuevo cuadro
  2. columnas[ndarray] : Etiquetas que se utilizarán para crear las columnas del nuevo marco.
  3. 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