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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| frameon-0.1.2.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|