pingouin
Pingouin: statistical package for Python
What it is and what it does
Pingouin is a statistical package built on NumPy, SciPy, and Pandas that provides a high-level interface to common statistical tests and analyses. Unlike lower-level libraries, it returns comprehensive results by default—a t-test includes not just the t-value and p-value but also degrees of freedom, Cohen's d effect size, 95% confidence intervals, statistical power, and Bayes factors. It covers parametric and non-parametric tests, ANOVAs (one-way, repeated measures, mixed, ANCOVA), pairwise post-hoc tests, multiple correlation methods (Pearson, Spearman, robust, partial, distance, repeated measures), linear and logistic regression, mediation analysis, multivariate tests, reliability measures, and circular statistics.
The package is designed for researchers and data analysts who want exhaustive statistical output without writing custom code. It integrates with Pandas DataFrames, supports grouped and long-format data, and includes plotting functions (Bland-Altman, Q-Q, paired plots). Dependencies are all standard scientific Python libraries, making it straightforward to install. The codebase is actively maintained, tested on Python 3.10 through 3.14, and has no known security vulnerabilities.
Use it for:
- Run a t-test and immediately get effect size, confidence intervals, power, and Bayes factor for publication-ready reporting
- Perform repeated-measures ANOVA with post-hoc pairwise comparisons on grouped experimental data in a DataFrame
- Compare correlation robustness by testing Pearson, Spearman, and biweight midcorrelation on the same data to handle outliers
- Test multivariate normality and homogeneity assumptions before choosing parametric or non-parametric tests
- Compute power analysis and effect sizes for study design planning before data collection
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pingouin provides a comprehensive statistical analysis toolkit for Python, offering t-tests, ANOVAs, correlations, regression, effect sizes, power analysis, and hypothesis testing with detailed output including confidence intervals and Bayes factors.
Yes. Pingouin is well-maintained, actively developed, has no security vulnerabilities, and fills a genuine gap: it wraps SciPy and Statsmodels with sensible defaults and comprehensive output. The GPL-3.0 license is standard for academic software and poses no barrier to research use. Install it if you do statistical testing in Python and want richer output than SciPy alone provides.
Install
pingouin on PyPI
pip
pip install pingouinuv
uv add pingouinpoetry
poetry add pingouinInstalling pingouin
Before you install
Low friction installation with a pure-Python wheel distribution. Active maintenance with a recent release (139 days ago) and steady community engagement. Requires modern Python (3.10+) and depends on established scientific libraries (NumPy, SciPy, Pandas, Statsmodels, Scikit-learn).
License in practice
GPL-3.0 copyleft license means any derivative work or modification must also be released under GPL-3.0. This is permissive for research and internal use but restricts commercial redistribution without source disclosure.
Quickstart
pip install pingouin
import pingouin as pg
import numpy as np
np.random.seed(123)
x = np.random.normal(0, 1, 30)
y = np.random.normal(0, 1, 30)
result = pg.ttest(x, y)
print(result)
Requires Python 3.10 or later. Nine runtime dependencies (NumPy, SciPy, Pandas, Statsmodels, Scikit-learn, Matplotlib, Seaborn, Pandas-flavor, Tabulate) must be installed; pip handles this automatically.
Verify before relying
- Whether all statistical functions work equally well with missing data or require preprocessing
- Performance characteristics on large datasets (memory usage, computation time)
- Availability and completeness of circular statistics functions mentioned in description
Package facts
| License | GPL-3.0 (copyleft) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 9 — matplotlib, numpy, pandas, pandas_flavor, scikit-learn, scipy, seaborn, statsmodels, tabulate |
| Maintenance | actively maintained — 139 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 524,957/month — #6,187 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pingouin-0.6.1-py3-none-any.whl
Tags
More Mathematics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
kiwisolverkiwisolver is a Python binding to a fast C++…
permissive · top 1,000 on PyPI
sympySymPy is a Python library for symbolic…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
torchPyTorch provides GPU-accelerated tensor…
permissive · top 1,000 on PyPI
onnxruntimeonnxruntime loads and executes Open Neural…
permissive · top 1,000 on PyPI
allpairspyGenerates minimal test case combinations using…
permissive · top 15,000 on PyPI
hyppohyppo provides multivariate hypothesis testing…
permissive · top 15,000 on PyPI
scikit-posthocsProvides post hoc statistical tests for…
permissive · top 15,000 on PyPI
phikPhi_K computes a correlation coefficient that…
permissive · top 5,000 on PyPI
bootstrappedBuilds confidence intervals from data samples…
unclear · top 15,000 on PyPI
statsmodelsstatsmodels provides statistical models,…
permissive · top 1,000 on PyPI
quantile-forestQuantile regression forests for estimating…
permissive · top 15,000 on PyPI
forestciComputes confidence intervals and variance…
permissive · top 15,000 on PyPI
diptestComputes Hartigan's dip test statistic and…
copyleft · top 15,000 on PyPI
psmpyPsmPy implements propensity score matching for…
permissive · top 5,000 on PyPI