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 dataframe with simplified index structure (no more resetting indexes and multi indexes)- Consistent ‘verbs’ (
select,arrange,distinct, …) as methods totidyframeclass which mostly return atidyframe - Unified interface for summarizing (aggregation) and mutate (assign) operations across groups
- Utilites for pandas dataframes and series
- Uses simple python data structures, No esoteric classes, No pipes, No Non-standard evaluation
- No copy data conversion between
tidyframeand pandas dataframes - An accessor to apply
tidyframeverbs to simple pandas datarames - …
Example
tidypandascode:
df.filter(lambda x: x['col_1'] > x['col_1'].mean(), by = 'col_2')
- equivalent pandas code:
(df.groupby('col2')
.apply(lambda x: x.loc[x['col_1'] > x['col_1'].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 methods
- you do not want to write (or be surprised by)
reset_index,rename_axisoften - you prefer writing free flowing, expressive code in dplyr style
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:
pip install tidypandas -
For offline installation, use whl/tar file from the releases page on github.
Contribution/bug fixes/Issues:
-
Open an issue/suggestion/bugfix on the github issues page.
-
Use the master branch from github repo to submit your PR.
Metadata
Release files for tidypandas 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tidypandas-0.3.0.tar.gz | 51.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tidypandas-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.5 kB
Release files / tidypandas-0.3.0.tar.gz
| Download URL | tidypandas-0.3.0.tar.gz |
|---|---|
| Size | 51.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e3e14bf3d4a1ffa88508cd1db192ae989a4f467b34a61c5497242c6087db8af
|
|
BLAKE2b-256 checksum How to use checksums |
bf99bab5ba35023f056fae45af3e7f37cb9289224db36e0d35b3b848ab4975f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.9.12 Darwin/22.6.0
|
Release files / tidypandas-0.3.0-py3-none-any.whl
| Download URL | tidypandas-0.3.0-py3-none-any.whl |
|---|---|
| Size | 52.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c3b85e3068ffdcbac623d01c9c7352066c88f5d6b5be5f8a95ae0b429a40c6b
|
|
BLAKE2b-256 checksum How to use checksums |
0c6ac2b678af80a683f63331a3bfb3a1924e9829ec8d992dd5d70367f0a25706
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.9.12 Darwin/22.6.0
|