Skip to main content

A DataFrame workflow accelerator for fast, deterministic data prep and analysis.

Project description

dfxpy: The DataFrame Workflow Accelerator ⚡

dfxpy Logo

PyPI version Python versions License: MIT Build Status

dfxpy is a high-performance Python library designed to reduce the entire data preparation and analysis workflow into a few powerful, deterministic operations. It helps data scientists and engineers go from raw, messy datasets to model-ready features in seconds, not hours.


🎯 Why dfxpy?

While pandas is the industry standard for data manipulation, cleaning a dataset for machine learning often requires writing repetitive boilerplate code. dfxpy acts as an accelerator, automating the "grunt work" while providing intelligent diagnostics and insights.

  • Fast & Deterministic: Optimized operations without the unpredictability of AI.
  • Production-Ready: Type-hinted, modular, and follows PEP8 standards.
  • Lightweight: Minimal dependencies—built on top of pandas, numpy, and scikit-learn.
  • Self-Contained: Load and analyze data without needing to import multiple libraries.

✨ Key Features

🛠️ Auto-Pilot Cleaning (auto)

One-line pipeline for column normalization (snake_case), duplicate removal, smart type inference (Object → Numeric/Datetime), and missing value imputation.

🔍 Deep Audit (audit)

Intelligent dataset diagnostics that detect:

  • ID-like columns (uniqueness checks)
  • High cardinality categoricals
  • Multicollinearity (correlated features)
  • Data skewness and low-variance columns

🚀 ML Preparation (prepare)

Transform your data into X and y instantly. Automatically handles categorical target encoding (LabelEncoding), feature encoding (One-Hot), and optional scaling.

📉 Smart EDA (eda)

Generates structured, human-readable summaries of shapes, nulls, unique counts, and correlation matrices.

🧹 Outlier Management (outliers)

Detect and handle outliers using the IQR (Interquartile Range) method with options to remove or cap.

📊 One-Click Reports (report)

Generate beautiful, standalone HTML EDA reports with distributions and missing value summaries—zero dependencies required.

🔄 Dataset Comparison (compare)

Instantly track changes between two versions of a dataset. Detects shape shifts, column changes, and cell-level value modifications.

⚖️ Smart Balancing (balance)

Handle imbalanced datasets with ease using Oversampling, Undersampling, or synthetic interpolation.

🛡️ Data Contracts (validate)

Enforce rigorous data contracts with schema validation. Ensure your pipeline only processes data that meets your quality standards.

🏗️ Workflow Pipelines (pipeline)

Build, save, and reuse complex cleaning workflows with the new chainable pipeline engine.

💡 ML Model Advisor (suggest)

Get instant recommendations on which ML algorithms (XGBoost, LightGBM, etc.) to use based on your dataset's specific characteristics.

🕵️ Explainable Cleaning (analyze_cleaning)

Understand exactly what happened to your data. Logs every transformation and repair for full transparency.


📦 Installation

Install the latest version via pip:

pip install dfxpy

For detailed usage and parameter definitions, see the Full API Reference.


🚀 Quick Start

Python API

import dfxpy as dfx

# 1. Load data directly
df = dfx.load("raw_data.csv")

# 2. Run auto-clean (names, types, nulls, encoding)
df_clean = dfx.auto(df)

# 3. Get intelligent insights
dfx.audit(df_clean)

# 4. Prepare for Machine Learning
X, y = dfx.prepare(df_clean, target="outcome")

Command Line Interface (CLI)

# Analyze a dataset instantly
dfxpy analyze data.csv

# Prepare data for ML via CLI
dfxpy prepare data.csv --target price --output cleaned_features.csv

🧠 Pandas vs. dfxpy

Task Standard Pandas dfxpy
Load Data pd.read_csv("data.csv") dfx.load("data.csv")
Clean Names df.columns = [c.lower().replace(' ', '_') for c in df.columns] dfx.auto(df)
Handle Nulls df['val'].fillna(df['val'].median()) dfx.auto(df)
ML Prep 10+ lines (Split, Encode, Scale) dfx.prepare(df, target='y')
Audit Manual inspection dfx.audit(df)
HTML Report 50+ lines (Matplotlib/Jinja) dfx.report(df)
Dataset Diff df1.compare(df2) (limited) dfx.compare(df1, df2)
Explainability Manual logging dfx.analyze_cleaning(df)

🤝 Contributing

We welcome contributions! Please see our CONTRIBUTING.md for guidelines on how to submit issues, feature requests, and pull requests.

📄 License

dfxpy is licensed under the MIT License.


Built with ❤️ for the Data Science Community.

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

dfxpy-0.3.0.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

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

dfxpy-0.3.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file dfxpy-0.3.0.tar.gz.

File metadata

  • Download URL: dfxpy-0.3.0.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dfxpy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c09f3eddecdba39d49132b4a4ea38e7ee5f65ef2fd99cf6e74fcecce13f56413
MD5 10b3f2bc5ede08cd83596c43a28a1b45
BLAKE2b-256 4c45dde14377d2816e4aa2b2baaa7bd5e21fbe16c01d5ddfd06ef764b2b4a5f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for dfxpy-0.3.0.tar.gz:

Publisher: publish.yml on sayantancodex/dfxpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dfxpy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: dfxpy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dfxpy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff3e2464862049d3b50bea461bd3e6a6a63e9a897db393a0b245d05646ccebfd
MD5 80ff1cf274acf512f47a63a3871e5831
BLAKE2b-256 50e224d9d15171b73571004b1f8a0db2c4f78a3c03a7e00a5cfb94de75cfcb8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dfxpy-0.3.0-py3-none-any.whl:

Publisher: publish.yml on sayantancodex/dfxpy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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