-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
BUG: Logical and comparison ops with ArrowDtype & masked #52633
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
Conversation
@@ -451,6 +452,9 @@ def _cmp_method(self, other, op): | |||
result = pc_func(self._pa_array, other._pa_array) | |||
elif isinstance(other, (np.ndarray, list)): | |||
result = pc_func(self._pa_array, other) | |||
elif isinstance(other, BaseMaskedArray): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might this be a use case for __pandas_priority__
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm might this unintentionally make ArrowExtentionArray
be prioritized over a custom 3rd party array?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1000-1999 are for EAs. I guess we could document that internal EAs only use up through e.g. 1499
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding of __pandas_priority__
was that it was specifically for non-internal EAs since at least for the internal ones we can dictate the return. Or did you imagine we are supposed to be using this internally as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
internally it doesn't really matter which method we used. i was imagining we could use it internally for intra-EA ops but that wasn't a big selling point
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this check and using __pandas_priority__
are essentially similar I would slightly prefer to use this check to avoid spilling into interacting with 3rd party EA.pandas_priority unless you feel strongly otherwise
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No objection
Owee, I'm MrMeeseeks, Look at me. There seem to be a conflict, please backport manually. Here are approximate instructions:
And apply the correct labels and milestones. Congratulations — you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon! Remember to remove the If these instructions are inaccurate, feel free to suggest an improvement. |
…rowDtype & masked
doc/source/whatsnew/vX.X.X.rst
file if fixing a bug or adding a new feature.