{"id":25907790,"url":"https://github.com/talegari/tidypandas","last_synced_at":"2025-03-03T07:01:35.038Z","repository":{"id":37014934,"uuid":"235512246","full_name":"tidypyverse/tidypandas","owner":"tidypyverse","description":"A grammar of data manipulation for pandas inspired by tidyverse","archived":false,"fork":false,"pushed_at":"2024-02-28T18:50:04.000Z","size":6026,"stargazers_count":97,"open_issues_count":10,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-18T20:01:47.994Z","etag":null,"topics":["data-analysis","data-science","dataframe","dataframe-library","dplyr","pandas","python","tidyverse"],"latest_commit_sha":null,"homepage":"https://tidypyverse.github.io/tidypandas/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tidypyverse.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-22T06:23:22.000Z","updated_at":"2025-01-31T15:04:16.000Z","dependencies_parsed_at":"2024-01-16T23:26:39.941Z","dependency_job_id":"086ae2a4-aded-497c-b2b4-02df328da92e","html_url":"https://github.com/tidypyverse/tidypandas","commit_stats":null,"previous_names":["talegari/tidypandas"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidypyverse%2Ftidypandas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidypyverse%2Ftidypandas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidypyverse%2Ftidypandas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tidypyverse%2Ftidypandas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tidypyverse","download_url":"https://codeload.github.com/tidypyverse/tidypandas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241622602,"owners_count":19992503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analysis","data-science","dataframe","dataframe-library","dplyr","pandas","python","tidyverse"],"created_at":"2025-03-03T07:01:17.024Z","updated_at":"2025-03-03T07:01:35.020Z","avatar_url":"https://github.com/tidypyverse.png","language":"Python","funding_links":[],"categories":["Libraries"],"sub_categories":[],"readme":"![](docs/logo.png)\n\n[![PyPI\nversion](https://badge.fury.io/py/tidypandas.svg)](https://badge.fury.io/py/tidypandas)\n\n# `tidypandas`\n\n\u003e A **grammar of data manipulation** for\n\u003e [pandas](https://pandas.pydata.org/docs/index.html) inspired by\n\u003e [tidyverse](https://tidyverse.tidyverse.org/)\n\n`tidypandas` python package provides *minimal, pythonic* API for common\ndata manipulation tasks:\n\n-   `tidyframe` class (wrapper over pandas dataframe) provides a\n    dataframe with simplified index structure (no more resetting indexes\n    and multi indexes)\n-   Consistent ‘verbs’ (`select`, `arrange`, `distinct`, …) as methods\n    to `tidyframe` class which mostly return a `tidyframe`\n-   Unified interface for summarizing (aggregation) and mutate (assign)\n    operations across groups\n-   Utilites for pandas dataframes and series\n-   Uses simple python data structures, No esoteric classes, No pipes,\n    No Non-standard evaluation\n-   No copy data conversion between `tidyframe` and pandas dataframes\n-   An accessor to apply `tidyframe` verbs to simple pandas datarames\n-   …\n\n## Example\n\n-   `tidypandas` code:\n\n\u003c!-- --\u003e\n\n    df.filter(lambda x: x['col_1'] \u003e x['col_1'].mean(), by = 'col_2')\n\n-   equivalent pandas code:\n\n\u003c!-- --\u003e\n\n    (df.groupby('col2')\n       .apply(lambda x: x.loc[x['col_1'] \u003e x['col_1'].mean(), :])\n       .reset_index(drop = True)\n       )\n\n## Why use `tidypandas`\n\n`tidypandas` is for you if:\n\n-   you *frequently* write data manipulation code using pandas\n-   you prefer to have stay in pandas ecosystem (see accessor)\n-   you *prefer* to remember a [limited set of\n    methods](https://medium.com/dunder-data/minimally-sufficient-pandas-a8e67f2a2428)\n-   you do not want to write (or be surprised by)\n    [`reset_index`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.reset_index.html),\n    [`rename_axis`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rename_axis.html)\n    often\n-   you prefer writing free flowing, expressive code in\n    [dplyr](https://dplyr.tidyverse.org/) style\n\n\u003e `tidypandas` relies on the amazing `pandas` library and offers a\n\u003e consistent API with a different\n\u003e [philosophy](https://tidyverse.tidyverse.org/articles/manifesto.html).\n\n## Presentation\n\nLearn more about tidypandas\n([presentation](https://github.com/talegari/tidypandas/blob/master/docs/tp_pres.html))\n\n## Installation\n\n1.  Install release version from Pypi using pip:\n\n        pip install tidypandas\n\n2.  For offline installation, use whl/tar file from the [releases\n    page](https://github.com/talegari/tidypandas/releases) on github.\n\n## Contribution/bug fixes/Issues:\n\n1.  Open an issue/suggestion/bugfix on the github\n    [issues](https://github.com/talegari/tidypandas/issues) page.\n\n2.  Use the master branch from\n    [github](https://github.com/talegari/tidypandas) repo to submit your\n    PR.\n\n------------------------------------------------------------------------\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalegari%2Ftidypandas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalegari%2Ftidypandas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalegari%2Ftidypandas/lists"}