Skip to main content

Frameon extends pandas DataFrame with analysis methods while keeping all original functionality intact.

Project description

Frameon

PyPI Versions Python Versions Documentation Status Tests codecov Dependabot License

Frameon extends pandas DataFrame with analysis methods while keeping all original functionality intact.

If you find Frameon useful, please star the GitHub repo! It helps others discover the project and motivates further development.


✨ Key Features

  • Seamless integration: Works with existing pandas DataFrames and Series
  • Non-intrusive: All pandas methods remain unchanged and fully available
  • Modular access: Additional functionality organized in clear namespaces
  • Dual-level access: Methods available for both entire DataFrames and individual columns

📦 Installation

Recommended: Use a virtual environment to prevent potential conflicts with existing package versions in your system.

Basic Installation

Using pip

pip install frameon

Using poetry

poetry add frameon

Installation with Virtual Environment

Python's built-in venv

# Create virtual environment
python -m venv frameon_env

# Activate it
source frameon_env/bin/activate 

# Install frameon
pip install frameon

Using poetry (manages virtual env automatically)

# Navigate to your project directory
poetry init  # if starting new project
poetry add frameon

🚀 Quick Start

import pandas as pd
from frameon import FrameOn as fo

# Create or load your DataFrame
df = pd.read_csv('your_data.csv')

# Add Frameon functionality
df = fo(df)

# Explore your data
df.explore.info()           # For entire DataFrame
df['price'].explore.info()  # For individual column

📚 Documentation

For complete documentation including API reference and more examples, visit:
Frameon Documentation


🧪 Examples

Data Exploration

Quickly explore your data:

from frameon import load_dataset, FrameOn as fo

titanic = fo(load_dataset('titanic'))
titanic['age'].explore.info()

Cohort Analysis

Quickly visualize user retention with a cohort heatmap:

from frameon import load_dataset, FrameOn as fo

superstore = fo(load_dataset('superstore'))
fig = superstore.analysis.cohort(
    user_id_col='Customer ID', 
    date_col='Order Date', 
    revenue_col='Sales',
    granularity='quarter',
    include_period0=False,
)
fig.show()

Statistical Tests

Compare groups using bootstrap:

from frameon import load_dataset, FrameOn as fo

titanic = fo(load_dataset('titanic'))
titanic.stats.bootstrap(
    dv='age',
    between='alive',
    reference_group='no',
    statistic='mean_diff',
    plot=True
)

🔧 API Overview

Frameon provides methods through these namespaces:

Namespace Description DataFrame Series
.explore Data exploration and quality checks
.preproc Data preprocessing and cleaning
.analysis Advanced analytical methods
.viz Visualization methods
.stats Statistical tests and analysis

⚙️ Built With

Frameon utilizes these foundational libraries:


🤝 Contributing

We welcome contributions! Here's how to help:

  1. 🐛 Report bugs via GitHub Issues
  2. 📥 Submit PRs for new features
  3. 📖 Improve documentation

See our Contributing Guidelines for details.


📜 License

Frameon is licensed under the MIT License.

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

frameon-0.1.1.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

frameon-0.1.1-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file frameon-0.1.1.tar.gz.

File metadata

  • Download URL: frameon-0.1.1.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.3 Linux/6.15.3-1-MANJARO

File hashes

Hashes for frameon-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3ff1abb6a0abf7bbfd98923dade8ce3b68a12b65e1f58607e97b30441c654ae1
MD5 e6bc5e3ff65bc2cdffb0e2784786722b
BLAKE2b-256 ab229c6ed4026bc083b1419d2cb1ff68f42280a6cfd77bfedb08b66bbd0a2fb3

See more details on using hashes here.

File details

Details for the file frameon-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: frameon-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.13.3 Linux/6.15.3-1-MANJARO

File hashes

Hashes for frameon-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 68cbba16d427f1c403c6a8213a2c1f9b136f34825b8f140749664f054ec48291
MD5 9feafefb01150279a615e75e7d05bc17
BLAKE2b-256 f161e3f9bacc6f432f2035429ee853f26ef8bed628780edb2733cfcc8509ec33

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