Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polars pivot_longer implementation #1355

Merged
merged 134 commits into from
Jun 9, 2024
Merged

Polars pivot_longer implementation #1355

merged 134 commits into from
Jun 9, 2024

Conversation

samukweku
Copy link
Collaborator

@samukweku samukweku commented Apr 30, 2024

PR Description

Please describe the changes proposed in the pull request:

  • pivot_longer implementation for polars
  • pivot_longer_spec for more granular control

This PR is related to #1352 .

PR Checklist

Please ensure that you have done the following:

  1. PR in from a fork off your branch. Do not PR from <your_username>:dev, but rather from <your_username>:<feature-branch_name>.
  1. If you're not on the contributors list, add yourself to AUTHORS.md.
  1. Add a line to CHANGELOG.md under the latest version header (i.e. the one that is "on deck") describing the contribution.
    • Do use some discretion here; if there are multiple PRs that are related, keep them in a single line.

Automatic checks

There will be automatic checks run on the PR. These include:

  • Building a preview of the docs on Netlify
  • Automatically linting the code
  • Making sure the code is documented
  • Making sure that all tests are passed
  • Making sure that code coverage doesn't go down.

Relevant Reviewers

Please tag maintainers to review.

samuel.oranyeli and others added 24 commits June 3, 2024 18:47
- reimplementation of the algorithm that powers the non-equi join in numba
- more info in the docs regarding range joins, and where numba can be helpful
- improved performance for numba for range joins and multiple non equi joins when getting first/last match
* add make_clean_names function that can be applied to polars

* add examples for make_clean_names

* changelog

* limit import location for polars

* limit import location for polars

* fix polars in environment-dev.yml

* install polars in doctest

* limit polars imports - user should have polars already installed

* use subprocess.run

* add subprocess.devnull to docstrings

* add subprocess.devnull to docstrings

* add subprocess.devnull to docstrings

* add subprocess.devnull to docstrings

* add os.devnull

* add polars as requirement for docs

* add polars to tests requirements

* delete irrelevant folder

* changelog

* create submodule for polars

* fix doctests

* fix tests; add polars to documentation

* fix tests; add polars to documentation

* import janitor.polars

* control docs output for polars submodule

* exclude functions in docs rendering

* exclude functions in docs rendering

* show_submodules=true

* fix docstring rendering for polars

* Expression -> expression

* rename functions.py

* pivot_longer implemented for polars

* changelog

* keep changes related only to pivot_longer

* pd -> pl

* pd -> pl

* df.pivot_longer -> df.janitor.pivot_longer

* df.pivot_longer -> df.janitor.pivot_longer

* pd -> pl

* pd -> pl

* add >>> df

* add >>> df

* keep changes related only to polars pivot_longer

* add polars support to read_commandline

* remove irrelevant files

* minor edit to docs

* xlsx_table now supports polars

---------

Co-authored-by: samuel.oranyeli <[email protected]>
Co-authored-by: Eric Ma <[email protected]>
@samukweku samukweku requested a review from ericmjl June 3, 2024 10:10
@ericmjl
Copy link
Member

ericmjl commented Jun 9, 2024

LGTM! Thank you, @samukweku, for the hard work you've been putting in here!

@ericmjl ericmjl merged commit a672fef into dev Jun 9, 2024
4 checks passed
@ericmjl ericmjl deleted the samukweku/polars_pivot_longer branch June 9, 2024 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants