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.4.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.4-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datanarrator-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 4382a8e5b934642d5110f614b1b2fb84f90904131375975582801a02f901ec53
MD5 4dae1fa8b038a794ab51b7096dcfcf09
BLAKE2b-256 c1a0aebad633b7a8d1fd7faff94dc837b325479bb017ae32917747107291d4e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datanarrator-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 db7f43899b529029d6519627f50c4467a3b5c40289817c1ab84ff9618128b736
MD5 5ae52c454fd16c0a769d5e8153541109
BLAKE2b-256 16f437e8b46b65916e7b0bef1568f88e50c5737032242ac0bc3587b5ee53ffca

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