A grammar of data manipulation for pandas inspired by tidyverse
Project description
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.
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 tidypandas-0.3.0.tar.gz.
File metadata
- Download URL: tidypandas-0.3.0.tar.gz
- Upload date:
- Size: 51.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.12 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e3e14bf3d4a1ffa88508cd1db192ae989a4f467b34a61c5497242c6087db8af
|
|
| MD5 |
a150f699aad3f1d6bb905258fedfc7d2
|
|
| BLAKE2b-256 |
bf99bab5ba35023f056fae45af3e7f37cb9289224db36e0d35b3b848ab4975f4
|
File details
Details for the file tidypandas-0.3.0-py3-none-any.whl.
File metadata
- Download URL: tidypandas-0.3.0-py3-none-any.whl
- Upload date:
- Size: 52.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.9.12 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c3b85e3068ffdcbac623d01c9c7352066c88f5d6b5be5f8a95ae0b429a40c6b
|
|
| MD5 |
c062e6206916f8b01e5a03c29380bdad
|
|
| BLAKE2b-256 |
0c6ac2b678af80a683f63331a3bfb3a1924e9829ec8d992dd5d70367f0a25706
|