A grammar of data manipulation for pandas inspired by tidyverse
Last updated May 24, 2026
103
Stars
8
Forks
10
Issues
0
Stars/day
Attention Score
38
Language breakdown
Python 100.0%
▸ Files
click to expand
README

tidypandas
A grammar of data manipulation for
pandas inspired by
tidyverse
tidypandas python package provides minimal, pythonic API for common data manipulation tasks:
-
tidyframeclass (wrapper over pandas dataframe) provides a
- Consistent ‘verbs’ (
select,arrange,distinct, …) as methods
tidyframe class which mostly return a tidyframe
- Unified interface for summarizing (aggregation) and mutate (assign)
- Utilites for pandas dataframes and series
- Uses simple python data structures, No esoteric classes, No pipes,
- No copy data conversion between
tidyframeand pandas dataframes - An accessor to apply
tidyframeverbs to simple pandas datarames - …
Example
-
tidypandascode:
df.filter(lambda x: x['col1'] > x['col1'].mean(), by = 'col_2')
- equivalent pandas code:
(df.groupby('col2') .apply(lambda x: x.loc[x['col1'] > x['col1'].mean(), :]) .reset_index(drop = True) )
Why use tidypandas
tidypandas is for you if:
- you frequently write data manipulation code using pandas
- you prefer to have stay in pandas ecosystem (see accessor)
- you prefer to remember a limited set of
- you do not want to write (or be surprised by)
reset_index,
rename_axis
often
- you prefer writing free flowing, expressive code in
tidypandasrelies on the amazingpandaslibrary and offers a
consistent API with a different
philosophy.
Presentation
Learn more about tidypandas (presentation)
Installation
- Install release version from Pypi using pip:
- For offline installation, use whl/tar file from the releases
Contribution/bug fixes/Issues:
- Open an issue/suggestion/bugfix on the github
- Use the master branch from
🔗 More in this category