Skip to main content

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_null
  • unique
  • in_range
  • allowed_values
  • regex

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, mode
  • ffill, bfill
  • fill_value
  • drop_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:

Open in Colab

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tabulens_davidvarh-0.1.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabulens_davidvarh-0.1.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

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

Hashes for tabulens_davidvarh-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b7ea2abe57b41287939ec2e7c7d712b614381ca4ddb0de50d76d4a91a3ab5e8c
MD5 eb50fa74fce5352228b3e58e17a01164
BLAKE2b-256 a3e2fa900d0d824072d29cbda6f3681ef18b81072273e860300a0cb48595e72b

See more details on using hashes here.

File details

Details for the file tabulens_davidvarh-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tabulens_davidvarh-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c155534b08c5cbb55505a681f2fd3c8e4fdae4eb01d389594573289e0fec9ed9
MD5 1e4411f46153bfd5a1a4e888cf0fee8f
BLAKE2b-256 33b2fe5fea9ff6af28f46a4e65421f4f6e0ad91101fc3165e67b0c5a1b10ded1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page