A Python library for profiling, validating, cleaning, filtering, optimizing, and extracting insights from pandas DataFrames.
Project description
Tabulens
Tabulens es una librería de Python diseñada para perfilar, validar, limpiar, filtrar y optimizar DataFrames, con el objetivo de mejorar la calidad de los datos de manera estructurada y reproducible antes de su análisis.
Instalación
pip install tabulens
Descripción
El análisis de datos en la práctica suele implicar tareas repetitivas como:
- detección de valores nulos
- validación de reglas de negocio
- limpieza de datos inconsistentes
- eliminación de duplicados
- optimización de memoria
Estas tareas normalmente se realizan de forma manual, lo que introduce errores y falta de consistencia.
Tabulens propone un flujo unificado que permite:
- centralizar reglas de validación
- aplicar estrategias de limpieza de forma declarativa
- obtener reportes claros sobre el estado de los datos
- separar datos válidos e inválidos de forma programática
Uso básico
import pandas as pd
from tabulens import Tabulens
df = pd.read_csv("data.csv")
t = Tabulens(df)
# Profiling
profile = t.profile()
print(profile.render_text())
# Validation
validation = (
t.validate()
.not_null("edad")
.in_range("edad", min_value=18, max_value=99)
.run()
)
print(validation.render_text())
# Cleaning
cleaned = t.clean(
null_strategy={"edad": "median"},
duplicate_strategy="drop"
)
# Filtering
valid_df = t.keep_valid_rows(validation)
# Optimization
optimized = t.optimize()
# Insights
insights = t.insights()
print(insights.render_text())
Módulos
Profiling
Analiza la estructura del DataFrame y genera información descriptiva como:
- tipos de datos
- valores nulos
- cardinalidad
- posibles recomendaciones estructurales
Validation
Permite definir reglas sobre columnas:
not_nulluniquein_rangeallowed_valuesregex
Produce un reporte que incluye:
- cumplimiento por regla
- índices de filas que fallan
- identificación de casos cercanos a incumplimiento
Cleaning
Permite aplicar estrategias de limpieza de forma selectiva por columna.
Estrategias disponibles:
mean,median,modeffill,bfillfill_valuedrop_rows
También permite eliminación de duplicados.
Filtering
A partir de un reporte de validación, permite:
- conservar únicamente filas válidas
- conservar filas inválidas
- separar ambos conjuntos
Optimization
Optimiza el uso de memoria mediante:
- conversión de tipos numéricos
- detección de columnas categóricas
Insights
Genera observaciones simples sobre el comportamiento de los datos.
Notebook tutorial
El uso completo de la librería se muestra en el siguiente notebook:
El notebook:
- instala la librería desde PyPI
- muestra un flujo completo de uso
- es reproducible en Google Colab
Tests
Para ejecutar los tests:
pytest
Estructura del proyecto
tabulens/
│
├── profiling.py
├── validation.py
├── cleaning.py
├── filtering.py
├── optimization.py
├── insights.py
├── rules.py
├── utils.py
│
tests/
Objetivo del proyecto
El objetivo de Tabulens es ofrecer una herramienta práctica para mejorar la calidad de los datos antes de su análisis, reduciendo errores y estandarizando procesos comunes en ciencia de datos.
Licencia
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tabulens_davidvarh-0.1.0.tar.gz.
File metadata
- Download URL: tabulens_davidvarh-0.1.0.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7ea2abe57b41287939ec2e7c7d712b614381ca4ddb0de50d76d4a91a3ab5e8c
|
|
| MD5 |
eb50fa74fce5352228b3e58e17a01164
|
|
| BLAKE2b-256 |
a3e2fa900d0d824072d29cbda6f3681ef18b81072273e860300a0cb48595e72b
|
File details
Details for the file tabulens_davidvarh-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tabulens_davidvarh-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c155534b08c5cbb55505a681f2fd3c8e4fdae4eb01d389594573289e0fec9ed9
|
|
| MD5 |
1e4411f46153bfd5a1a4e888cf0fee8f
|
|
| BLAKE2b-256 |
33b2fe5fea9ff6af28f46a4e65421f4f6e0ad91101fc3165e67b0c5a1b10ded1
|