import pandas as pd
import missingno as msno
import matplotlib.pyplot as pltUn 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 missingnoRequirement 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)
:::
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)