Datasets
Modulo para cargar datasets internos y generar datos sinteticos con distribuciones estadisticas configurables. Compatible con pandas como backend.
Descripcion general
El modulo datasets de ViewX proporciona:
- Datasets clasicos listos para usar (iris, penguins, titanic, etc.)
- Carga flexible desde paquete o ruta local
- Soporte para CSV, Parquet, Excel y JSON
- Generacion de datos sinteticos con 7+ distribuciones
- Opcion return_X_y para machine learning
Datasets disponibles
iris.csv
150 filas, 5 columnas
penguins.csv
344 filas, 7 columnas
titanic.csv
891 filas, 12 columnas
sp500_companies.csv
Empresas S&P 500
course_completion.csv
Datos educativos
Cocoa_Bubbles_...xlsx
Inversiones cacao
load_dataset()
load_dataset(name, backend="pandas", return_X_y=None, sep=",")
Funcion generica para cargar cualquier dataset. Busca primero en el paquete viewx.datasets, luego en ruta local.
name str - Nombre del archivo (con extension)
backend str, default="pandas" - Backend de DataFrame
return_X_y tuple, optional - Tupla (X_columns, y_column) para retornar arrays numpy
sep str, default="," - Separador para CSV
Python
from viewx.datasets import load_dataset
# Cargar como DataFrame
df = load_dataset("iris.csv")
# Cargar como arrays X, y para ML
X, y = load_dataset(
"iris.csv",
return_X_y=(
["sepal_length", "sepal_width", "petal_length", "petal_width"],
"species"
)
)
# Cargar archivo local
df = load_dataset("mis_datos.csv")
load_iris()
load_iris(backend="pandas", return_X_y=None) → DataFrame | tuple
Atajo para cargar el dataset Iris. 150 muestras de 3 especies de flores con medidas de sepalo y petalo.
Python
from viewx.datasets import load_iris
df = load_iris()
print(df.head())
load_penguins()
load_penguins(backend="pandas", return_X_y=None) → DataFrame | tuple
Atajo para cargar el dataset Penguins. 344 pinguinos de 3 especies con medidas corporales.
generate_dataset()
generate_dataset(n_rows, schema, seed=None, save=False, filename=None)
Genera un dataset sintetico con distribuciones estadisticas configurables por columna.
n_rows int - Numero de filas a generar
schema dict - Diccionario con configuracion por columna
seed int, optional - Semilla para reproducibilidad
save bool, default=False - Guardar como CSV
filename str, optional - Nombre del archivo (sin extension)
Distribuciones soportadas
normal
uniform
exponential
lognormal
poisson
binomial
categorical
Cada distribucion acepta parametros especificos en el schema:
- normal: mean, std
- uniform: low, high
- exponential: scale
- lognormal: mean, std (del log)
- poisson: lam (lambda)
- binomial: n, p
- categorical: choices (lista de opciones)
Schema de ejemplo
Python
from viewx.datasets import generate_dataset
schema = {
"edad": {
"dist": "normal",
"mean": 35,
"std": 10,
"type": "int"
},
"salario": {
"dist": "lognormal",
"mean": 10.5,
"std": 0.5,
"type": "float",
"round": 2
},
"departamento": {
"dist": "categorical",
"choices": ["Ventas", "IT", "Marketing", "RRHH"]
},
"visitas_mensuales": {
"dist": "poisson",
"lam": 15,
"type": "int"
},
"tasa_conversion": {
"dist": "uniform",
"low": 0.01,
"high": 0.15,
"type": "float",
"round": 4
}
}
df = generate_dataset(
n_rows=1000,
schema=schema,
seed=42,
save=True,
filename="datos_sinteticos"
)
print(df.head())
print(df.describe())