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.2.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.2-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: frameon-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 400acda61f52de2fbc4eb1f15a6ef6ba467fae8d8dfd99dcd020aa8b194c5572
MD5 c67bb9126518fb990f5aebb6efd84a92
BLAKE2b-256 fb4e62f901a96c1890bf51a9dd2a0800720f4a7e029d1740031c7c35ec43f033

See more details on using hashes here.

File details

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

File metadata

  • Download URL: frameon-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 53117849861051c8f366d76f3cc4b50c852f4bae304a6c111e7dba713324cae6
MD5 07d36ee7ee57ae4c911421d958ef8ebd
BLAKE2b-256 efb1cb2438275cb32140d4e9143fd4157c894e1d7b9072010b40eca490dd708a

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