DataMatrix
Analisis exploratorio automatico (estilo ydata-profiling) con reporte HTML interactivo: filtra, visualiza y explora datos en el navegador.
Descripcion general
DataMatrix toma un DataFrame de pandas y genera un reporte HTML con pestanas:
- Overview — KPIs, alertas y fortalezas del dataset
- Variables — perfil por columna con busqueda y graficos lazy
- Explore — filtrado interactivo, graficos en vivo y descarga CSV
- Correlations — pares numericos con mayor correlacion
- Bibliometrics — autores, journals, keywords (si aplica)
- Sample — muestra paginada del dataset
Instalacion
pip install viewx
Inicio rapido
Python
from viewx import DataMatrix
from viewx.datasets import load_iris
df = load_iris()
dm = DataMatrix(df)
dm.analyze()
print(dm.summary(detailed=True))
print("Alerts:", dm.alerts())
print("Highlights:", dm.highlights())
dm.generate_report("mi_reporte.html", title="Analisis Iris", theme="dark")
Constructor
DataMatrix(df: pd.DataFrame)
Inicializa una instancia de DataMatrix con un DataFrame de pandas. Crea copias internas del DataFrame original y prepara los contenedores para estadisticas y alertas.
df pd.DataFrame - DataFrame a analizar
ⓘ Nota
DataMatrix mantiene una copia del DataFrame original (self.original_df) y una copia de trabajo (self.df) para preservar los datos originales durante la limpieza.
analyze()
analyze() → DataMatrix
Ejecuta el perfilado completo via AnalyzerEngine: tipos de columna, correlaciones, bibliometria y alertas. Retorna self para encadenamiento.
summary() / alerts() / highlights()
summary(detailed=False) → dict
Resumen del dataset. Con
detailed=True incluye alertas, highlights, listas de columnas y correlaciones.alerts() → List[str]
Advertencias de calidad: nulos, outliers, columnas constantes, duplicados, skewness.
highlights() → List[str]
Aspectos positivos del dataset: baja tasa de nulos, sin duplicados, correlaciones fuertes, cardinalidad usable.
clean_data()
clean_data(drop_duplicates=True, fill_na=False, na_strategy=None)
Limpia el DataFrame eliminando duplicados e imputando nulos.
na_strategy permite reglas por columna: mean, median, mode, auto, drop.drop_duplicates bool, default=True
fill_na bool | str, default=False — True, "ffill" o "bfill"
na_strategy dict, optional — estrategia por columna
Python
dm = DataMatrix(df)
# Solo eliminar duplicados
dm.clean_data(drop_duplicates=True, fill_na=False)
# Eliminar duplicados e imputar nulos
dm.clean_data(drop_duplicates=True, fill_na=True)
filter_rows() / select_columns() / reset_data()
filter_rows(query: str) → DataMatrix
Filtra filas con una expresion pandas
query(). Invalida el analisis previo.select_columns(columns: List[str]) → DataMatrix
Conserva solo las columnas indicadas.
reset_data() → DataMatrix
Restaura el DataFrame original antes de limpieza o filtros.
generate_report()
generate_report(output_path, title, theme="dark", show=True, explorer_max_rows=5000)
Genera el reporte HTML completo y opcionalmente lo abre en el navegador.
output_path str
title str
theme str — "dark" o "light"
show bool
render_html(title, theme="dark", explorer_max_rows=5000) → str
Retorna el HTML como string sin escribir archivo.
Python
dm = DataMatrix(df)
path = dm.generate_report(
output_path="analisis_ventas.html",
title="Reporte de Ventas Q4 2024"
)
print(f"Reporte generado: {path}")
Explore tab (interactivo)
La pestana Explore embebe un explorador client-side con:
- Filtros por columna (numericos, categoricos, fechas)
- Constructor de graficos en vivo (bar, scatter, line, pie)
- Tabla paginada con datos filtrados
- Descarga CSV del subset activo
Los datos se serializan en JSON (hasta explorer_max_rows filas, default 5000).