Gráfico de Datos Faltantes

Python
code
Visualization
missing data
Author

Marco Aguirre

Published

September 8, 2025

Un problema común en los conjuntos de datos es la presencia de valores nulos o faltantes (missing values).
Estos suelen indicar una deficiencia en la calidad de los datos.La librería Missingno permite identificar de manera rápida dónde se concentran las faltas en cada variable y explorar las posibles correlaciones entre ellas. Permite a los analistas y científicos de datos comprender rápidamente la distribución y el alcance de los valores faltantes en sus datos, lo que les ayuda a tomar decisiones informadas sobre cómo gestionarlos durante el preprocesamiento de datos.

Ventajas de Missingno

  • Visualización sencilla de datos faltantes.
  • Identificación de patrones de datos faltantes y su distribución.
  • En el procesos limpieza y preparación de datos comprender la extensión y la distribución de los datos faltantes es crucial.
  • Integración con Pandas.

Limitaciones de Missingno

  • Missingno es útil para visualizar patrones de datos faltantes, pero no incluye métodos de imputación ni análisis estadísticos avanzados.
  • Su uso está limitado a DataFrames de Pandas y puede presentar problemas de rendimiento en conjuntos de datos muy grandes o con alta proporción de valores nulos.

Installación

pip install missingno

::: {#bdeb3e52 .cell execution_count=7}
``` {.python .cell-code}
pip install missingno
Requirement already satisfied: missingno in c:\users\meagu\anaconda3\lib\site-packages (0.5.2)Note: you may need to restart the kernel to use updated packages.

Requirement already satisfied: numpy in c:\users\meagu\anaconda3\lib\site-packages (from missingno) (1.26.4)
Requirement already satisfied: matplotlib in c:\users\meagu\anaconda3\lib\site-packages (from missingno) (3.10.0)
Requirement already satisfied: scipy in c:\users\meagu\anaconda3\lib\site-packages (from missingno) (1.13.1)
Requirement already satisfied: seaborn in c:\users\meagu\anaconda3\lib\site-packages (from missingno) (0.13.2)
Requirement already satisfied: contourpy>=1.0.1 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (1.2.0)
Requirement already satisfied: cycler>=0.10 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (1.4.4)
Requirement already satisfied: packaging>=20.0 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (24.1)
Requirement already satisfied: pillow>=8 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (11.1.0)
Requirement already satisfied: pyparsing>=2.3.1 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (3.1.2)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\meagu\anaconda3\lib\site-packages (from matplotlib->missingno) (2.9.0.post0)
Requirement already satisfied: pandas>=1.2 in c:\users\meagu\anaconda3\lib\site-packages (from seaborn->missingno) (2.2.3)
Requirement already satisfied: pytz>=2020.1 in c:\users\meagu\anaconda3\lib\site-packages (from pandas>=1.2->seaborn->missingno) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in c:\users\meagu\anaconda3\lib\site-packages (from pandas>=1.2->seaborn->missingno) (2023.3)
Requirement already satisfied: six>=1.5 in c:\users\meagu\anaconda3\lib\site-packages (from python-dateutil>=2.7->matplotlib->missingno) (1.16.0)

:::

import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt

df = pd.read_csv("dataset_missing.csv")
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 120 entries, 0 to 119
Data columns (total 7 columns):
 #   Column       Non-Null Count  Dtype  
---  ------       --------------  -----  
 0   id           120 non-null    int64  
 1   age          96 non-null     float64
 2   income_usd   108 non-null    float64
 3   city         98 non-null     object 
 4   signup_date  102 non-null    object 
 5   gender       96 non-null     object 
 6   churned      106 non-null    float64
dtypes: float64(3), int64(1), object(3)
memory usage: 6.7+ KB

Gráfico de Matriz de Datos Faltantes


msno.matrix(df)

Gráfico de barras de Datos Faltantes

msno.bar(df)

Heatmap correlacional de Datos Faltantes

msno.heatmap(df)

Realiza un diagnóstico de datos faltantes con missingno

  • Selecciona un dataset que contenga valores faltantes (NA).
  • Identifica y cuantifica los patrones de datos faltantes en el dataset.
  • Compara diferentes visualizaciones de datos ausentes utilizando la librería missingno:
    • matrix
    • bar
    • heatmap
    • dendrogram (investiga qué es y para qué se utiliza)