EDA BF - Exploratory Data Analysis Package
Este paquete permite realizar un análisis exploratorio de datos (EDA) sobre archivos (CSV, Parquet) y tablas de bases de datos SQL (MySQL, PostgreSQL, SQL Server, Oracle), generando informes en formato Excel para facilitar el análisis de calidad y características de los datos.
Funcionalidades Principales
1. process_single_file
Procesa un archivo individual (CSV o Parquet) y genera un informe EDA en formato Excel.
- Función:
process_single_file(file_path, output=None, limite=None) - Parámetros:
file_path(str): Ruta del archivo a procesar.output(str): Ruta de salida para el archivo Excel (opcional).limite(int): Límite opcional de filas a leer.
- Descripción: Lee el archivo especificado, genera un análisis exploratorio de datos y lo guarda en un archivo Excel que contiene métricas y estadísticas de los datos.
2. process_folder
Procesa múltiples archivos en una carpeta (CSV y Parquet) y genera un informe EDA consolidado en un archivo Excel.
- Función:
process_folder(folder_path, output=None, limite=None) - Parámetros:
folder_path(str): Ruta de la carpeta que contiene los archivos a procesar.output(str): Ruta de salida para el archivo Excel consolidado.limite(int): Límite opcional de filas a leer por archivo.
- Descripción: Busca archivos CSV y Parquet en la carpeta especificada, procesa cada archivo, y genera un informe combinado en Excel con métricas detalladas de cada archivo.
3. process_single_table
Procesa una única tabla de una base de datos SQL y genera un informe EDA en formato Excel.
- Función:
process_single_table(db_type, server, user, password, database, schema, table_name, path_instaclient=None, output=None) - Parámetros:
db_type(str): Tipo de base de datos (mysql,postgresql,sqlserver,oracle).server,user,password,database,schema,table_name(str): Información de conexión y tabla a procesar.path_instaclient(str): Ruta opcional del cliente de Oracle, si es necesario.output(str): Ruta de salida para el archivo Excel.
- Descripción: Se conecta a la base de datos, extrae la tabla especificada y genera un informe detallado en Excel, incluyendo estadísticas y datos de calidad de la tabla.
4. process_dataset
Procesa múltiples tablas de un esquema en una base de datos SQL y genera un informe EDA para cada tabla en un único archivo Excel.
- Función:
process_dataset(db_type, server, user, password, database, schema, path_instaclient=None, output=None, limit_tables=5) - Parámetros:
db_type(str): Tipo de base de datos (mysql,postgresql,sqlserver,oracle).server,user,password,database,schema(str): Información de conexión a la base de datos.path_instaclient(str): Ruta opcional del cliente de Oracle, si es necesario.output(str): Ruta de salida para el archivo Excel.limit_tables(int): Límite opcional para el número de tablas a procesar.
- Descripción: Conecta a la base de datos, extrae todas las tablas del esquema especificado, y genera un informe EDA en un solo archivo Excel. Cada tabla se incluye en una hoja diferente, con métricas y análisis de calidad.
5. process_dataframe
Procesa un DataFrame directamente en memoria y genera un informe EDA en formato Excel.
- Función:
process_dataframe(df, output=None, table_name="DataFrame", limite=None) - Parámetros:
df(DataFrame): El DataFrame que se desea procesar.output(str): Ruta de salida para el archivo Excel.table_name(str): Nombre que se asignará al DataFrame en el informe Excel (por defecto:"DataFrame").limite(int): Límite opcional de filas a procesar.
- Descripción: Procesa un DataFrame cargado en memoria, generando un informe en Excel con estadísticas descriptivas y métricas clave. Si se especifica un límite, solo se procesan las primeras
limitefilas.
Ejemplos de Uso
Procesar un Archivo Individual
from edabf import process_single_file
process_single_file("ruta/al/archivo.csv", output="salida", limite=1000)
Procesar una Carpeta de Archivos
from edabf import process_folder
process_folder("ruta/a/carpeta", output="salida_masivo")
Procesar una Tabla de una Base de Datos
from edabf import process_single_table
process_single_table("postgresql", "servidor", "usuario", "contraseña", "base_datos", "esquema", "nombre_tabla", output="salida_table")
Procesar Múltiples Tablas de un Esquema de Base de Datos
from edabf import process_dataset
process_dataset("mysql", "servidor", "usuario", "contraseña", "base_datos", "esquema", output="salida_dataset")
Procesar Múltiples Tablas de un Esquema de Base de Datos
from edabf import process_dataframe
import pandas as pd
# Crear un DataFrame de ejemplo
data = {"Columna1": [1, 2, 3], "Columna2": ["A", "B", "C"]}
df = pd.DataFrame(data)
# Generar el informe EDA
process_dataframe(df, output="reporte_dataframe", table_name="Ejemplo", limite=10)
Licencia
Este proyecto está bajo la licencia MIT.
Metadata
Release files for edabf 0.36
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| edabf-0.36.tar.gz | 29.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edabf-0.36-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.1 kB
Release files / edabf-0.36.tar.gz
| Download URL | edabf-0.36.tar.gz |
|---|---|
| Size | 29.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8edc191bbc70ab557e96264ad1d239df3daf3fd812c209759f4ae8dc349ad5cf
|
|
BLAKE2b-256 checksum How to use checksums |
82cab68c82da41e084db3889c07e24824383ef3b320c46145dec1aa1c4457c13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.13
|
Release files / edabf-0.36-py3-none-any.whl
| Download URL | edabf-0.36-py3-none-any.whl |
|---|---|
| Size | 34.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
011e69ac7a47fa8beaf485790d4ac074cf30ce1a4b22c8bd1f8fd51ed67da1e4
|
|
BLAKE2b-256 checksum How to use checksums |
faaa269c025fe93e79293570619033cf522d65b80dd23fbeafd9a557a0595c3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.9.13
|