Lightweight exploratory data analysis for pandas DataFrames
Project description
FramePeek
Lightweight exploratory data analysis for pandas DataFrames.
Documentation
- Getting started
- API reference
- Product requirements
- Changelog
- Contributing
- Code of Conduct
- Release guide
Usage
import framepeek as fp
report = fp.profile(
df,
target="churn",
correlation_method="spearman",
outlier_multiplier=1.5,
top_n_categories=5,
)
fp.print_report(report)
The report contains overview, columns, missing, duplicates, numeric,
categorical, outliers, correlations, target, and warnings.
print_report() gives each section a title and prints tables without
formatter-generated ellipses.
Each analysis is also available directly:
fp.overview(df)
fp.columns(df)
fp.missing(df)
fp.duplicates(df)
fp.numeric(df)
fp.categorical(df)
fp.outliers(df)
fp.correlations(df)
fp.target(df, target="churn")
fp.warnings(df, target="churn")
All functions validate their inputs and leave the original DataFrame unchanged.
Outputs
| Function | Return value |
|---|---|
overview |
DataFrame of dataset-level metrics |
columns |
DataFrame with one profile row per column |
missing |
DataFrame; row totals are stored in .attrs["rows"] |
duplicates |
Dictionary containing totals, groups, and examples |
numeric |
DataFrame of descriptive numeric statistics |
categorical |
DataFrame of frequency and cardinality statistics |
outliers |
DataFrame of IQR bounds and potential outlier counts |
correlations |
Dictionary containing matrix and tidy pairs tables |
target |
Dictionary containing categorical or numeric target analysis |
warnings |
DataFrame of actionable quality warnings |
profile |
Dictionary containing all analyses above |
print_report |
None; prints every profile section with a title |
Thresholds for missingness, cardinality, outliers, correlations, and class imbalance can be configured through the corresponding function parameters.
Development
python -m pip install -e ".[dev]"
python -m ruff check .
python -m mypy src/framepeek
python -m pytest --cov=framepeek --cov-fail-under=100
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file framepeek-0.1.1.tar.gz.
File metadata
- Download URL: framepeek-0.1.1.tar.gz
- Upload date:
- Size: 16.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
751f373ac6a330fc957caac5aa21a94b8cc6622f59d5086aa25233420ad7b68a
|
|
| MD5 |
6f0876293897111d8274e0beb64060ed
|
|
| BLAKE2b-256 |
4274dc582914d1c3840fbf694c956fcffc07433e8f36166fad233ef056182101
|
File details
Details for the file framepeek-0.1.1-py3-none-any.whl.
File metadata
- Download URL: framepeek-0.1.1-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac1d7e61f37bd64e4454e29691a8b638885d33fc7efa33dd2560a8228d375483
|
|
| MD5 |
821a6d91af3f5e939d1f090e2c103bb3
|
|
| BLAKE2b-256 |
90fd4dc8530ea0c5aacce8079a4accaee4957cd9bc76e7d065e6e48aa00f1823
|