Tutorial

Estilizar tabla pivote para crear matriz de calor

Aprende cómo resaltar las celdas más valiosas en una tabla pivote de Pandas que resume información sobre multimillonarios por país e industria.

Aunque Hong Kong es pequeño comparado con otros países, sus multimillonarios en Bienes Raíces han acumulado una riqueza de 132 mil millones de dólares.

Solo son superados por Estados Unidos, que tiene 192 mil millones de dólares en Bienes Raíces.

Matriz de calor mostrando la riqueza de multimillonarios en varios países e industrias, con destacados notables en Hong Kong y EE.UU.
Matriz de calor de la distribución global de riqueza de multimillonarios

¿Cómo podemos construir una matriz de calor así desde un dataset en formato largo?

Datos

Cada fila representa un multimillonario, y las columnas representan sus atributos.

El dataset es un subconjunto del dataset original de multimillonarios de Kaggle.

df = pd.read_csv('data.csv')
Vista previa del dataset de multimillonarios mostrando nombres, países, industrias y patrimonio neto.
Dataset mostrando atributos de multimillonarios

Preguntas

  1. ¿Qué es una tabla pivote de Pandas y cómo se usa en análisis de datos?
  2. ¿Cómo puedes resumir el valor total por país y categoría?
  3. ¿Cómo estilizar un DataFrame para crear una matriz de calor?
  4. ¿Por qué es crucial el formato de una matriz de calor para una legibilidad óptima?
  5. ¿Qué insights se pueden derivar del análisis de la matriz de calor?

Metodología

Tabla pivote para resumir categorías

Para resumir los datos en categorías, podemos usar la función pivot_table, configurando sus parámetros de la siguiente manera:

  • index: la columna categórica cuyas categorías serán representadas únicamente por las filas de la tabla resultante.
  • columns: la columna categórica cuyas categorías serán representadas únicamente por las columnas de la tabla resultante.
  • values: la columna numérica sobre la cual se aplicará una operación matemática.
  • aggfunc: la operación matemática a aplicar a los valores.

Usando nuestro dataset, aplicamos la función pivot_table para responder la siguiente pregunta: ¿Cuál es el valor total de los multimillonarios por país y categoría?

dfr = (df
 .pivot_table(
     index='category', columns='country',
     values='finalWorth', aggfunc='sum'
     )
)
Tabla pivote básica resumiendo la riqueza de multimillonarios por país e industria antes de aplicar cualquier estilo visual.
Tabla pivote inicial de riqueza de multimillonarios

Habiendo resumido los datos, podemos comenzar a analizarlos. Sin embargo, la tabla no resalta visualmente qué países tienen el mayor valor total.

Abordemos esto coloreando las celdas de la tabla con una escala de colores de gradiente.

Matriz de calor con gradiente de fondo

dfr.style.background_gradient()
Intento inicial de estilo de la matriz de calor con un gradiente de fondo, enfatizando las categorías más ricas.
Versión temprana de matriz de calor con colores de gradiente

Hmm… ahora resalta las celdas con los valores más altos, pero es muy difícil discernir el patrón general.

Formateando la matriz de calor para legibilidad óptima

Para hacer la matriz de calor más atractiva, haremos lo siguiente:

  1. Rellenar valores faltantes con 0.
  2. Dividir los valores por 1,000 para mejorar la legibilidad.
  3. Formatear los números para incluir comas y omitir decimales.
  4. Reaplicar el gradiente con el esquema de colores ‘Greens’ para simbolizar billetes de dólar.
(dfr
 .fillna(0)
 .div(1_000)
 .style
     .format(precision=0, thousands=',')
     .background_gradient(cmap='Greens', axis=1)
)
Matriz de calor finalizada con legibilidad mejorada, mostrando riqueza de multimillonarios por país e industria, con una distinción visual clara a través de un gradiente verde.
Matriz de calor mejorada para visualización de riqueza

¿Sería esto interesante para alguno de tus amigos? Compártelo con ellos.

La mayor parte del patrimonio neto está concentrado en EE.UU., aunque es notable cómo los fabricantes de China han acumulado una riqueza cuatro veces mayor que la de los de EE.UU.

¿Qué otros insights puedes detectar? ¡Comparte tus pensamientos en los comentarios!

Conclusiones

  1. Tabla pivote de Pandas: Usa df.pivot_table para resumir y analizar patrones de datos eficientemente.
  2. Resumir categorías: Identifica variables categóricas para análisis y aplica operaciones matemáticas a variables numéricas.
  3. Crear una matriz de calor: Emplea df.style.background_gradient para diferenciación visual de valores.
  4. Formato óptimo: Ajusta unidades con div y simplifica números usando df.style.format.
  5. Derivar insights: Analiza insights comparando filas y columnas contra la escala de colores.

Me encantaría escuchar tus pensamientos para mejorar aún más nuestros futuros artículos.

¿Qué encontraste más interesante o valioso en esta pieza?

¿Hay temas específicos o aspectos que te gustaría que profundicemos en nuestras próximas publicaciones?

Tu feedback es crucial para que proporcionemos mejor contenido que se alinee con tus necesidades e intereses.

¡Gracias por tu atención y apoyo!

Suscríbete a nuestro newsletter

Recibe insights semanales sobre datos, automatización e IA.

© 2025 Datons. All rights reserved.