Skip to main content

Convierte cualquier DataFrame de pandas en un análisis en lenguaje natural

Project description

datanarrator 📊

PyPI version Python 3.9+ License: MIT

Open In Colab

datanarrator convierte cualquier DataFrame de pandas en un análisis en lenguaje natural. En lugar de leer tablas de números, obtienes texto interpretado con hallazgos, alertas y recomendaciones automáticas.


Instalación

pip install datanarrator

Uso rápido

import pandas as pd
from datanarrator import Narrator

df = pd.read_csv("datos.csv")
n = Narrator(df, lang="es")

print(n.describe())

Métodos disponibles

Método Descripción
describe() Análisis completo en lenguaje natural
executive_summary() Resumen ejecutivo de 2-3 oraciones
alerts_only() Solo alertas y recomendaciones
export(filepath) Exporta el análisis a .txt o .md
compare(df2) Compara dos datasets y detecta data drift
suggest() Sugiere modelos ML y preprocesamiento

Ejemplos de uso

Análisis completo

n = Narrator(df, lang="es")
print(n.describe())
--- Resumen general ---
El dataset contiene 891 registros con 12 columnas: 7 numéricas, 5 categóricas.
Valores nulos: 866 (8.1% del total).
--- Columnas numéricas ---
Age: media=29.7, mediana=28.0, std=14.53. Se detectaron 11 posibles outliers.
--- Correlaciones relevantes ---
Pclass ↔ Fare: correlación moderada negativa (-0.55)
--- Alertas y recomendaciones ---
⚠  'Cabin' tiene 77.1% de valores nulos.
→ Considera imputar o eliminar esta columna.

Sugerencias de modelado

print(n.suggest())
--- Sugerencias para modelado ---
Tipo de problema detectado: clasificacion binaria
Variable objetivo probable: Survived
Modelos recomendados:
→ Logistic Regression — buen baseline para clasificacion
→ Random Forest — robusto con variables mixtas
→ XGBoost — recomendado si priorizas accuracy
Preprocesamiento recomendado:
→ Imputar nulos en: Age
→ Encodear variables categoricas: Name, Sex, Ticket, Cabin, Embarked

Comparar dos datasets

n = Narrator(df_train, lang="es")
print(n.compare(df_produccion))
--- Comparación de datasets ---
El segundo dataset tiene 267 registros menos.
'Age': media subió de 29.7 a 44.34 (+49.3%).
⚠  Posible data drift en: Age.
→ Dispersión cambió más del 30%. Revisa antes de producción.

Soporte multilenguaje

n_es = Narrator(df, lang="es")  # Español
n_en = Narrator(df, lang="en")  # English

Correr con Docker

# Clonar el repositorio
git clone https://github.com/ikernavarro4/data-narrator.git
cd data-narrator

# Construir y correr el contenedor
docker compose up --build

El contenedor instala la librería desde PyPI y corre automáticamente el script de ejemplo con el dataset del Titanic.


Correr los tests

pip install pytest
pytest tests/ -v

Repositorio y links

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

datanarrator-0.1.3.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

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

datanarrator-0.1.3-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file datanarrator-0.1.3.tar.gz.

File metadata

  • Download URL: datanarrator-0.1.3.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for datanarrator-0.1.3.tar.gz
Algorithm Hash digest
SHA256 283e8ead6dbd68f91bc6124ab808830d5ffb3d598deda37172ca6981e6c70499
MD5 23d69effb289572e74ecba04e81409f2
BLAKE2b-256 18f9a72157b3548f94c5b1ce203707dd9118a08b29b9ba7ee5f93e3e4355f613

See more details on using hashes here.

File details

Details for the file datanarrator-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: datanarrator-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for datanarrator-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 79a68c63bbc0d1b3ccda254c33a996484c6b334357a46a0e93cc95302b0932a3
MD5 e08bafd6a21061e7bc4328c13d87bf56
BLAKE2b-256 3dc7939c787eba5d544c290b4ad4a3c23e8235942b965944df1709cce4d0a434

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