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

REF: use fused types for join_helper #23171

Merged
merged 3 commits into from
Oct 17, 2018
Merged

Conversation

jbrockmendel
Copy link
Member

Related but orthogonal to #23022.

@pep8speaks
Copy link

Hello @jbrockmendel! Thanks for submitting the PR.

@jbrockmendel
Copy link
Member Author

I'm seeing this same Travis failure in several unrelated PRs.

@TomAugspurger
Copy link
Contributor

#23172

I haven't made any progress debugging it though.

@codecov
Copy link

codecov bot commented Oct 17, 2018

Codecov Report

Merging #23171 into master will decrease coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #23171      +/-   ##
==========================================
- Coverage   92.19%   92.19%   -0.01%     
==========================================
  Files         169      169              
  Lines       50959    50956       -3     
==========================================
- Hits        46980    46977       -3     
  Misses       3979     3979
Flag Coverage Δ
#multiple 90.61% <100%> (-0.01%) ⬇️
#single 42.27% <66.66%> (-0.02%) ⬇️
Impacted Files Coverage Δ
pandas/core/indexes/numeric.py 97.27% <100%> (-0.15%) ⬇️
pandas/core/indexes/base.py 96.55% <100%> (ø) ⬆️
pandas/core/reshape/merge.py 93.94% <0%> (+0.04%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 913f71f...d7d0145. Read the comment docs.

@jreback jreback added Refactor Internal refactoring of code Internals Related to non-user accessible pandas implementation labels Oct 17, 2018
left_join_indexer_unique_uint64 = left_join_indexer_unique["uint64_t"]


# @cython.wraparound(False)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintaining the status quo.

_default_dtype = np.float64

# Cython methods; see github.com/cython/cython/issues/2647
# for why we need to wrap these instead of making them class attributes
def _left_indexer_unique(self, left, right):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we could think about doing generic dispatch in the base class,
e.g.

def _left_indexer(self, left, right):
    return getattr(libjoin, 'left_join_indexer_{}.format(self._join_type))(left, right)

might be slightly less readable, but less code overall in the subclasses.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually we can do one better. By just calling left_join_indexer cython will dispatch to the appropriate version on its own. (according to the docs; I haven't tried this myself)

@jreback jreback added this to the 0.24.0 milestone Oct 17, 2018
@jreback jreback merged commit 40f3923 into pandas-dev:master Oct 17, 2018
@jreback
Copy link
Contributor

jreback commented Oct 17, 2018

thanks!

@jbrockmendel jbrockmendel deleted the temp6 branch October 17, 2018 15:59
tm9k1 pushed a commit to tm9k1/pandas that referenced this pull request Nov 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Internals Related to non-user accessible pandas implementation Refactor Internal refactoring of code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants