percentify
Data Exploratory stats and Quality diagnostics for pandas and Polars DataFrames. One easy call each.
What it is and what it does
Percentify is a data diagnostics library that wraps common exploratory and quality-check operations into single-call functions for pandas and Polars DataFrames. Its flagship function, `profiler()`, scans a DataFrame for data issues—missing values, outliers, collinearity, class imbalance, skew—ranks them by severity, and suggests fixes. The library also provides functions for variance analysis (cv, pca_variance, pca_loadings), statistical testing (permutation_test, bootstrap_ci, effect_size), correlation detection, and formatting utilities.
The package is designed around a specific philosophy: each function returns the single most common answer in one call, with clear output sorted worst-first, and points users to underlying libraries (pandas, scipy, statsmodels, scikit-learn) when deeper customization is needed. It treats pandas and Polars as first-class backends—pass either type and get the same type back without flags or manual conversion. Runtime dependencies are numpy, pandas, and scipy.
Use it for:
- Run `profiler()` before modeling to catch data issues and get a 0-100 health score for a CI data-quality gate.
- Use `missing()` to quickly see which columns have gaps and how much data is lost per column.
- Call `vif()` to detect multicollinearity and identify which features to drop before regression.
- Apply `outliers()` to find the percentage of outliers in each column and decide on treatment.
- Use `correlate()` to find feature pairs that move together and test whether the relationship is statistically significant.
- Call `imbalance()` on a target column to measure class skew and decide on resampling or weighting strategies.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Percentify provides one-call exploratory statistics and data-quality diagnostics for pandas and Polars DataFrames, ranking issues worst-first with suggested fixes.
Yes. Percentify fills a real gap: it automates the 80% of exploratory checks you run on every dataset into one or two function calls, with low install friction, active maintenance, permissive licensing, and genuine dual support for pandas and Polars. No known vulnerabilities. Best for teams doing frequent data intake and quality validation.
Install
percentify on PyPI
pip
pip install percentifyuv
uv add percentifypoetry
poetry add percentifyInstalling percentify
Before you install
Low install friction with a pure-Python wheel and three well-established runtime dependencies (numpy, pandas, scipy). Active maintenance with a release 32 days ago.
License in practice
Apache-2.0 is permissive; you can use this in commercial and proprietary projects with minimal restrictions, provided you include a copy of the license.
Quickstart
pip install percentify
import pandas as pd
from percentify import profiler
df = pd.DataFrame({"salary": [50000, None, 60000], "age": [25, 30, None]})
report = profiler(df)
print(report.to_frame()) # ranked findings with fixes
print(report.health) # 0-100 data-health score
Requires Python 3.10 or later and pandas 2.0+.
Verify before relying
- Whether the package's Polars support is truly feature-parity with pandas across all functions.
- Performance characteristics on large datasets (memory usage, runtime scaling).
- Availability and completeness of the documentation at data-centt.github.io/percentify.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — numpy, pandas, scipy |
| Maintenance | actively maintained — 32 days since the last release |
| First released | |
| Downloads | 190,981/month — #9,896 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: percentify-1.0.2-py3-none-any.whl
Keywords: data-science, statistics, pandas, eda, multicollinearity, vif, pca, outliers, data-analysis
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
pandas-profilingThis package is deprecated; it redirects users…
permissive · top 15,000 on PyPI
datacompyDataComPy compares two DataFrames across…
permissive · top 5,000 on PyPI
narwhalsNarwhals provides a lightweight compatibility…
permissive · top 1,000 on PyPI
pandas-summaryExtends pandas' describe() function to provide…
permissive · top 15,000 on PyPI
itablesRenders Pandas and Polars DataFrames as…
permissive · top 5,000 on PyPI
princePrince implements multivariate exploratory data…
permissive · top 15,000 on PyPI
dataframe-api-compatProvides a lightweight compatibility layer that…
permissive · top 15,000 on PyPI
ydata-profilingGenerates comprehensive exploratory data…
permissive · top 5,000 on PyPI
mrmr-selectionImplements the mRMR (minimum Redundancy -…
unclear · top 15,000 on PyPI
great-tablesGreat Tables transforms Pandas or Polars…
permissive · top 15,000 on PyPI