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:
tidyframe
class (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 totidyframe
class 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
tidyframe
and pandas dataframes - An accessor to apply
tidyframe
verbs to simple pandas datarames - …
Example
tidypandas
code:
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_axis
often - you prefer writing free flowing, expressive code in dplyr style
tidypandas
relies on the amazingpandas
library 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
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 |