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.
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tidypandas-0.2.2.tar.gz
(50.7 kB
view hashes)
Built Distribution
tidypandas-0.2.2-py3-none-any.whl
(52.0 kB
view hashes)
Close
Hashes for tidypandas-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d97b73990edff4dbe198f51e33ff150a9d02a1eba76ad08ab58917681844afee |
|
MD5 | 92944865ed508743a5804fcda45d77ee |
|
BLAKE2-256 | 935ffb0d7efc1a08d9b786b461f94b0a035aa10ff6791546de54096c2a02521a |