Skip to main content

A grammar of data manipulation for pandas inspired by tidyverse

Project description

PyPI version

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 to tidyframe class which mostly return a tidyframe
  • 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 amazing pandas library and offers a consistent API with a different philosophy.

Presentation

Learn more about tidypandas (presentation)

Installation

  1. Install release version from Pypi using pip:

    pip install tidypandas
    
  2. For offline installation, use whl/tar file from the releases page on github.

Contribution/bug fixes/Issues:

  1. Open an issue/suggestion/bugfix on the github issues page.

  2. 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.3.0.tar.gz (51.5 kB view details)

Uploaded Source

Built Distribution

tidypandas-0.3.0-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

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

Hashes for tidypandas-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4e3e14bf3d4a1ffa88508cd1db192ae989a4f467b34a61c5497242c6087db8af
MD5 a150f699aad3f1d6bb905258fedfc7d2
BLAKE2b-256 bf99bab5ba35023f056fae45af3e7f37cb9289224db36e0d35b3b848ab4975f4

See more details on using hashes here.

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

Hashes for tidypandas-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c3b85e3068ffdcbac623d01c9c7352066c88f5d6b5be5f8a95ae0b429a40c6b
MD5 c062e6206916f8b01e5a03c29380bdad
BLAKE2b-256 0c6ac2b678af80a683f63331a3bfb3a1924e9829ec8d992dd5d70367f0a25706

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page