# Data Profiling

> Profiles datasets automatically to assess data quality, structure, and completeness, generating reports with ydata-profiling, pandera, or manual pandas methods.

- Skill: `leandrobenjaminl/data-profiling` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add leandrobenjaminl/data-profiling`
- Raw SKILL.md: https://api.skillmd.com/api/skills/leandrobenjaminl/data-profiling/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics, AI & ML, Data Analysis
- Tags: Csv, Data Profiling, Data Quality, Great Expectations, Html Report, Pandas, Pandera, Ydata Profiling
- License: MIT
- Author: LeandroBenjaminL (https://skillmd.com/u/leandrobenjaminl)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/leandrobenjaminl/data-profiling

---


# Skill: data-profiling

Profiling automático. En minutos sabés si el dataset es una joya o un desastre.

## Trigger

- Te pasaron un CSV que nunca viste
- Querés un reporte rápido de calidad antes de analizar
- Necesitás documentar la estructura de un dataset
- Vas a presentar un análisis y querés una sección de "calidad de datos"

## Workflow LEND

```
1. ANALIZAR
   ├── Tamaño: filas, columnas, memoria ocupada
   ├── Tipos: ¿Pandas infirió bien? ¿fechas, números, categorías?
   ├── Calidad: nulos %, duplicados %, valores únicos
   └── ¿Hay columnas que deberían estar pero no están?

2. OFRECER (Menú del Senior)
   ├── A) Express — ydata-profiling (pandas_profiling), 1 línea, reporte HTML completo
   ├── B) Custom — profiling manual con describe() + info() + isnull() + duplicated()
   └── C) Schema-based — pandera para validar contra un esquema definido

3. ELEGIR → confirmación

4. HACER
   ├── ydata-profiling: ProfileReport(df, title="Reporte", explorative=True)
   ├── Manual: describe(include='all'), info(), isnull().sum(), duplicated().sum()
   ├── Buscar: valores extremos, categorías con baja frecuencia, columnas constantes
   ├── Pandera: definir schema y validar (para producción)
   └── Guardar reporte en HTML para compartir

5. VERIFICAR
   ├── El reporte cubre todas las variables
   ├── Los problemas de calidad están documentados
   └── El schema pasa si se usa pandera
```

## Patrones

- **Profiling primero**: antes de cualquier análisis, un profiling rápido te ahorra horas de debugging
- **ypdata-profiling para explorar**: reporte interactivo con correlaciones, alerts, muestras
- **Pandera para producción**: define schemas y validalos en pipelines de CI
- **Manual para control fino**: describe + info + isnull + duplicated cuando necesitás decidir

## Anti-patrones

- ❌ No hacer profiling y asumir que los datos están bien
- ❌ Confiar ciegamente en profiling automático — siempre verificá hallazgos raros
- ❌ Ignorar las alertas de ydata-profiling (alta correlación, alta cardinalidad, desbalanceo)
- ❌ No documentar la calidad — "esto estaba medio sucio" no sirve en un informe

