Skip to main content

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.

Metadata

Release files for frameon 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for frameon 0.1.2
File Size Uploaded
frameon-0.1.2.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for frameon 0.1.2
File Interpreter ABI Platform
frameon-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.0 MB

Release files / frameon-0.1.2.tar.gz

Download URL frameon-0.1.2.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
400acda61f52de2fbc4eb1f15a6ef6ba467fae8d8dfd99dcd020aa8b194c5572
BLAKE2b-256 checksum
How to use checksums
fb4e62f901a96c1890bf51a9dd2a0800720f4a7e029d1740031c7c35ec43f033
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.13.3 Linux/6.15.3-1-MANJARO

Release files / frameon-0.1.2-py3-none-any.whl

Download URL frameon-0.1.2-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
53117849861051c8f366d76f3cc4b50c852f4bae304a6c111e7dba713324cae6
BLAKE2b-256 checksum
How to use checksums
efb1cb2438275cb32140d4e9143fd4157c894e1d7b9072010b40eca490dd708a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.1 CPython/3.13.3 Linux/6.15.3-1-MANJARO

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page