Manipulación de Datos con pivot_table en Python

Manipulación de Datos con pivot_table en Python

Introducción

En el análisis de datos, es muy común que necesitemos agrupar datos por una o más variables y luego calcular estadísticas sobre esas agrupaciones. La función pivot_table de la librería Pandas nos permite realizar estas tareas de manera rápida y sencilla.

¿Qué es un pivot_table?

Un pivot_table es una tabla de resumen que se crea agrupando datos por una o más variables y luego calculando estadísticas sobre esas agrupaciones. Las estadísticas que se pueden calcular incluyen la media, la mediana, la desviación estándar, el recuento, etc.

Cómo usar pivot_table

La función pivot_table tiene los siguientes argumentos:

  • data: El dataframe sobre el que se va a crear el pivot_table.
  • values: La columna o columnas sobre las que se va a calcular las estadísticas.
  • index: La columna o columnas por las que se va a agrupar los datos.
  • aggfunc: La función que se va a utilizar para calcular las estadísticas.

Ejemplos

Python
# Importar la librería Pandas
import pandas as pd

# Crear un dataframe
df = pd.DataFrame({
    "pais": ["España", "Francia", "Alemania", "Italia", "Reino Unido"],
    "ciudad": ["Madrid", "París", "Berlín", "Roma", "Londres"],
    "población": [10000000, 20000000, 30000000, 40000000, 50000000]
})

# Crear un pivot_table agrupando por país y calculando la media de la población
pivot_table = df.pivot_table(values="población", index="pais", aggfunc="mean")

# Imprimir el pivot_table
print(pivot_table)
  país  población
0  España   5000000
1  Francia   2000000
2  Alemania   3000000
3  Italia   4000000
4  Reino Unido   5000000

Opciones avanzadas

La función pivot_table tiene muchas opciones avanzadas que nos permiten personalizar el resultado. Por ejemplo, podemos especificar el nombre de las columnas del pivot_table, o podemos calcular estadísticas adicionales.

Ejemplo

Python
# Crear un pivot_table agrupando por país y ciudad y calculando la media de la población
pivot_table = df.pivot_table(values="población", index=["pais", "ciudad"], aggfunc="mean")

# Imprimir el pivot_table
print(pivot_table)
  país  ciudad  población
0  España  Madrid   2500000
1  España  París   2500000
2  Francia  París   5000000
3  Alemania  Berlín   3750000
4  Alemania  Roma   3750000
5  Italia  Roma   5000000
6  Reino Unido  Londres   5000000

Conclusión

La función pivot_table es una herramienta muy potente para la manipulación de datos en Python. Nos permite agrupar datos por una o más variables y luego calcular estadísticas sobre esas agrupaciones.