StatsLibX logoStatsLibX

UtilsStats

v0.3.0

A utility class providing helper functions for data loading, validation, formatting, statistical testing, outlier detection, effect size calculation, and visualisation configuration. Complements the core statistical classes with practical data science utilities.

Class Overview

The UtilsStats class provides a collection of standalone utility methods for common data science workflows. It includes functions for loading data from various file formats, validating and converting data, formatting numbers, performing normality tests, calculating confidence intervals, detecting outliers, computing effect sizes, and generating publication-ready plots.

Configuration Methods

These methods control the global behaviour of plotting and output settings used across the visualisation utilities.

set_plot_backend
set_plot_backend(backend: Literal['matplotlib', 'seaborn', 'plotly']) -> None
set_default_figsize
set_default_figsize(figsize: tuple[int, int]) -> None
set_save_fig_options
set_save_fig_options(save_fig: bool, fig_format: str = 'png', fig_dpi: int = 300, figures_dir: str = 'figures') -> None

Data Loading & Validation

load_data
load_data(path: str, **kwargs: Any) -> pd.DataFrame
validate_dataframe
validate_dataframe(data: pd.DataFrame | np.ndarray | list[list] | dict) -> pd.DataFrame

Formatting

format_number
format_number(num: float | int, decimals: int = 6, scientific: bool = False) -> str

Statistical Tests

check_normality
check_normality(data: pd.DataFrame, column: str | None = None, alpha: float = 0.05) -> dict
calculate_confidence_intervals
calculate_confidence_intervals(data: pd.DataFrame, column: str | None = None, confidence_level: float = 0.95, method: Literal['parametric', 'bootstrap'] = 'parametric') -> dict

Outlier Detection

detect_outliers
detect_outliers(data: pd.DataFrame, column: str | None = None, method: Literal['iqr', 'zscore', 'isolation_forest'] = 'iqr', **kwargs: Any) -> pd.Series

Effect Size

calculate_effect_size
calculate_effect_size(data: pd.DataFrame | None = None, group1: pd.Series | list | None = None, group2: pd.Series | list | None = None, method: Literal['cohen', 'hedges'] = 'cohen') -> dict

Descriptive Statistics

get_descriptive_stats
get_descriptive_stats(data: pd.DataFrame, column: str | None = None) -> dict

Plotting Methods

These methods generate visualisations using the backend configured via set_plot_backend. Each returns a figure object that can be further customised or saved.

plot_distribution
plot_distribution(data: pd.DataFrame, column: str | None = None, plot_type: str = 'hist', backend: str = 'seaborn', bins: int = 30, figsize: tuple | None = None, save_fig: bool | None = None, filename: str | None = None) -> matplotlib.figure.Figure | plotly.graph_objects.Figure
plot_correlation_matrix
plot_correlation_matrix(data: pd.DataFrame, method: str = 'pearson', backend: str = 'seaborn', triangular: bool = False, figsize: tuple | None = None, save_fig: bool | None = None, filename: str | None = None) -> matplotlib.figure.Figure | plotly.graph_objects.Figure
plot_scatter_matrix
plot_scatter_matrix(data: pd.DataFrame, columns: list[str] | None = None, backend: str = 'seaborn', figsize: tuple | None = None, save_fig: bool | None = None, filename: str | None = None) -> matplotlib.figure.Figure | plotly.graph_objects.Figure
plot_distribution_with_ci
plot_distribution_with_ci(data: pd.DataFrame, column: str | None = None, confidence_level: float = 0.95, ci_method: str = 'parametric', bins: int = 30, figsize: tuple | None = None, save_fig: bool | None = None, filename: str | None = None) -> matplotlib.figure.Figure | plotly.graph_objects.Figure