Frameon extends pandas DataFrame with analysis methods while keeping all original functionality intact.
Project description
Frameon
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:
- pandas - Core data structures
- numpy - Numerical computing
- plotly - Interactive visualization
- scipy - Scientific computing
- statsmodels - Statistical modeling
- pingouin - Statistics
- scikit-learn - Machine learning
🤝 Contributing
We welcome contributions! Here's how to help:
- 🐛 Report bugs via GitHub Issues
- 📥 Submit PRs for new features
- 📖 Improve documentation
See our Contributing Guidelines for details.
📜 License
Frameon is licensed under the MIT License.
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ff1abb6a0abf7bbfd98923dade8ce3b68a12b65e1f58607e97b30441c654ae1
|
|
| MD5 |
e6bc5e3ff65bc2cdffb0e2784786722b
|
|
| BLAKE2b-256 |
ab229c6ed4026bc083b1419d2cb1ff68f42280a6cfd77bfedb08b66bbd0a2fb3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68cbba16d427f1c403c6a8213a2c1f9b136f34825b8f140749664f054ec48291
|
|
| MD5 |
9feafefb01150279a615e75e7d05bc17
|
|
| BLAKE2b-256 |
f161e3f9bacc6f432f2035429ee853f26ef8bed628780edb2733cfcc8509ec33
|