Skip to main content

Lightweight exploratory data analysis for pandas DataFrames

Project description

FramePeek

Lightweight exploratory data analysis for pandas DataFrames.

Documentation

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

framepeek-0.1.1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

framepeek-0.1.1-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

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

Hashes for framepeek-0.1.1.tar.gz
Algorithm Hash digest
SHA256 751f373ac6a330fc957caac5aa21a94b8cc6622f59d5086aa25233420ad7b68a
MD5 6f0876293897111d8274e0beb64060ed
BLAKE2b-256 4274dc582914d1c3840fbf694c956fcffc07433e8f36166fad233ef056182101

See more details on using hashes here.

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

Hashes for framepeek-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac1d7e61f37bd64e4454e29691a8b638885d33fc7efa33dd2560a8228d375483
MD5 821a6d91af3f5e939d1f090e2c103bb3
BLAKE2b-256 90fd4dc8530ea0c5aacce8079a4accaee4957cd9bc76e7d065e6e48aa00f1823

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page