Β‘Copiado!
ConfiguraciΓ³n
MΓ©todos de ConfiguraciΓ³n
set_plot_backend() Β· set_default_figsize() Β· set_save_fig_options()

Configuran el comportamiento global de la instancia para visualizaciones.

Python
from statslibx import UtilsStats
utils = UtilsStats()

utils.set_plot_backend('seaborn')          # 'matplotlib', 'seaborn', 'plotly'
utils.set_default_figsize((14, 6))         # (ancho, alto) en pulgadas
utils.set_save_fig_options(
    save_fig=True,
    fig_format='png',    # 'png', 'svg', 'pdf'
    fig_dpi=300,
    figures_dir='mis_graficos'
)
Carga de Datos
.load_data(path, **kwargs)
path: str | Path Β· **kwargs: args adicionales para pandas
β†’ pd.DataFrame

Carga datos desde archivo en mΓΊltiples formatos. Detecta el formato automΓ‘ticamente por la extensiΓ³n.

FormatoExtensiones
CSV.csv
Excel.xlsx, .xls
Texto / TSV.txt, .tsv
JSON.json
Parquet.parquet
Feather.feather
Python
df = utils.load_data("ventas.csv")
df = utils.load_data("reporte.xlsx", sheet_name="Hoja1")
df = utils.load_data("datos.json")
AnΓ‘lisis EstadΓ­stico
.check_normality(data, column, alpha)
data: DataFrame | Series | ndarray | str | Path Β· column: str | None
β†’ dict

Verifica normalidad con el test de Shapiro-Wilk. Acepta datos en memoria o rutas de archivo.

Python
result = utils.check_normality(df, column='edad')
# {'is_normal': True, 'shapiro_statistic': 0.98, 'shapiro_pvalue': 0.12,
#  'alpha': 0.05, 'interpretation': 'Normal'}

# Desde archivo directo
result = utils.check_normality("datos.csv", column="salario")
.calculate_confidence_intervals(data, column, confidence_level, method)
method: 'parametric' | 'bootstrap' = 'parametric'
β†’ dict

Calcula intervalos de confianza para la media. El mΓ©todo 'bootstrap' es preferible para datos no normales (1000 resamplings).

Python
ci = utils.calculate_confidence_intervals(df, column='salario', confidence_level=0.95)
# {'mean': 52000, 'std': 8200, 'n': 300, 'confidence_level': 0.95,
#  'ci_lower': 51070, 'ci_upper': 52930, 'margin_error': 930, 'method': 'parametric'}

ci_boot = utils.calculate_confidence_intervals(data, method='bootstrap')
.detect_outliers(data, column, method, **kwargs)
method: 'iqr' | 'zscore' | 'isolation_forest' = 'iqr'
β†’ np.ndarray[bool]

Detecta outliers con tres mΓ©todos. Retorna array booleano. isolation_forest requiere scikit-learn.

Python
mask_iqr = utils.detect_outliers(df, column='precio', method='iqr')
mask_z   = utils.detect_outliers(df, column='precio', method='zscore', threshold=3)
mask_if  = utils.detect_outliers(df, column='precio', method='isolation_forest', contamination=0.05)

# Filtrar outliers
df_limpio = df[~mask_iqr]
.calculate_effect_size(data, group1, group2, method)
method: 'cohen' | 'hedges' = 'cohen'
β†’ dict

Calcula el tamaΓ±o del efecto entre dos grupos usando Cohen's d o Hedges' g (correcciΓ³n para muestras pequeΓ±as).

Python
# Desde DataFrame con nombres de columna
efecto = utils.calculate_effect_size(df, group1='salario_h', group2='salario_m')
# {'effect_size': 0.45, 'method': 'cohen', 'interpretation': 'PequeΓ±o',
#  'mean_diff': 3200, 'pooled_std': 7100}

# Desde arrays numpy
import numpy as np
g1 = np.random.normal(100, 15, 100)
g2 = np.random.normal(110, 15, 100)
efecto = utils.calculate_effect_size(g1, group2=g2, method='hedges')
.get_descriptive_stats(data, column)
β†’ dict

Retorna un diccionario completo de estadΓ­sticas descriptivas: count, mean, median, mode, std, variance, min, max, q1, q3, iqr, skewness, kurtosis, range.

Python
stats = utils.get_descriptive_stats(df, column='edad')
print(f"Media: {stats['mean']:.2f}, IQR: {stats['iqr']:.2f}")
VisualizaciΓ³n
.plot_distribution(data, column, plot_type, backend, ...)
plot_type: 'hist'|'kde'|'box'|'violin'|'all' Β· backend: 'matplotlib'|'seaborn'|'plotly'

Visualiza la distribuciΓ³n de una variable. Con plot_type='all' genera cuatro paneles (histograma+KDE, boxplot, violin, Q-Q). Acepta rutas de archivo directamente.

matplotlib

RΓ‘pido y ligero. Ideal para scripts y exportar.

seaborn

GrΓ‘ficos estadΓ­sticos elegantes. Por defecto.

plotly

Interactivo con zoom y tooltips.

Python
utils.plot_distribution(df, column='salario', plot_type='hist', backend='seaborn')
utils.plot_distribution(df, column='edad', plot_type='all')          # 4 paneles
utils.plot_distribution("datos.csv", column="precio", plot_type='violin')  # Desde archivo
fig = utils.plot_distribution(df, column='edad', backend='plotly')  # Interactivo
.plot_distribution_with_ci(data, column, confidence_level, ci_method, ...)
confidence_level: float = 0.95 Β· ci_method: 'parametric' | 'bootstrap'
β†’ plt.Figure

Genera dos paneles: histograma+KDE y KDE con intervalo de confianza sombreado. Incluye estadΓ­sticas en recuadro informativo.

Python
utils.plot_distribution_with_ci(
    df, column='salario',
    confidence_level=0.95,
    ci_method='parametric',
    save_fig=True, filename='salario_ic'
)
.plot_correlation_matrix(data, method, backend, triangular, ...)
method: 'pearson'|'spearman'|'kendall' Β· backend: 'seaborn'|'plotly'

Heatmap de la matriz de correlaciΓ³n. Con triangular=True oculta la diagonal superior para mayor claridad.

Python
utils.plot_correlation_matrix(df, method='pearson', triangular=True)
fig = utils.plot_correlation_matrix(df, backend='plotly')  # Interactivo
.plot_scatter_matrix(data, columns, backend, ...)
backend: 'seaborn'|'plotly'|'pandas'

Pairplot / scatter matrix. Muestra relaciones entre todas las variables numΓ©ricas de forma simultΓ‘nea.

Python
utils.plot_scatter_matrix(df, columns=['edad', 'salario', 'experiencia'])
fig = utils.plot_scatter_matrix(df, backend='plotly')