StatsLibX logoStatsLibX

DescriptiveStats

v0.3.0

A class for performing univariate and multivariate descriptive statistical analysis. Provides tools for exploratory data analysis, measures of central tendency, dispersion, distribution shape, and linear regression.

Class Overview

The DescriptiveStats class is the core module for descriptive statistical analysis. It accepts pandas.DataFrame, polars.DataFrame, or numpy.ndarray as input with automatic backend detection, and provides a rich set of methods for understanding your data. A backend property exposes the active backend ("pandas" or "polars").

Constructor

Constructor signature
DescriptiveStats(data: pd.DataFrame | pl.DataFrame | np.ndarray, lang: Literal['es-ES', 'en-US'] = 'es-ES')
data : pd.DataFrame | pl.DataFrame | np.ndarray — Input data for analysis (auto-detects pandas/polars)lang : Literal['es-ES', 'en-US'] — Language for output labels (default: 'es-ES')

Methods

mean
mean(column: str | None = None) -> float | pd.Series
median
median(column: str | None = None) -> float | pd.Series
mode
mode(column: str | None = None) -> float | pd.Series
variance
variance(column: str | None = None) -> float | pd.Series
std
std(column: str | None = None) -> float | pd.Series
skewness
skewness(column: str | None = None) -> float | pd.Series
kurtosis
kurtosis(column: str | None = None) -> float | pd.Series
quantile
quantile(q: float | list[float], column: str | None = None) -> float | pd.Series | pd.DataFrame
outliers
outliers(column: str, method: Literal['iqr', 'zscore'] = 'iqr', threshold: float = 1.5) -> pd.Series
correlation
correlation(method: Literal['pearson', 'spearman', 'kendall'] = 'pearson', columns: list[str] | None = None) -> pd.DataFrame
covariance
covariance(columns: list[str] | None = None) -> pd.DataFrame
summary
summary(columns: list[str] | None = None, show_plot: bool = False, plot_backend: Literal['seaborn', 'matplotlib'] = 'seaborn') -> DescriptiveSummary
linear_regression
linear_regression(X: str | list[str], y: str, engine: Literal['statsmodels', 'scikit-learn'] = 'statsmodels', fit_intercept: bool = True, show_plot: bool = False, plot_backend: Literal['seaborn', 'matplotlib'] = 'seaborn', handle_missing: Literal['drop', 'fill'] = 'drop') -> LinearRegressionResult

DescriptiveSummary

The DescriptiveSummary object is returned by the summary() method and provides a rich set of formatting options for presenting descriptive statistics.

to_dataframe
to_dataframe(format: Literal['wide', 'long'] = 'wide') -> pd.DataFrame
to_styled_df
to_styled_df() -> pd.io.formats.style.Styler
to_categorical_summary
to_categorical_summary() -> pd.DataFrame

LinearRegressionResult

The LinearRegressionResult object is returned by the linear_regression() method and encapsulates the fitted regression model along with diagnostic information and utilities.

Properties

coef_Estimated coefficients for each predictor
intercept_Intercept term of the model
r_squaredCoefficient of determination (R²)
adj_r_squaredAdjusted R² (penalised for number of predictors)
f_statisticF-statistic for overall model significance
p_valuesP-values for each coefficient
residualsResiduals (observed - predicted)
predictionsFitted values from the model
predict
predict(X_new: pd.DataFrame) -> np.ndarray
summary
summary() -> str
plot
plot() -> matplotlib.figure.Figure