-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
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
BUG: DataFrame+DataFrame ops #22614
Comments
@jbrockmendel the other option is to do it block wise? (which basically means column-wise for EAs, without the performance hit for consolidated numpy dtypes) |
That is similar to what I had in mind with option 2 above. Just instead of dispatching to the consolidated numpy array ops, it would be dispatching to the consolidated EA ops. There are a bunch of differences between pandas and numpy arith/comparison ops, most of which are handled in |
Yes, but implementation wise that is still a big difference no? |
On the EA side, yes, since it would mean implementing a bunch of new EA subclasses (and moving a bunch of logic from |
Closed by #22696. |
There are code paths for arithmetic methods (in particular
DataFrame._combine_frame
,_combine_match_index
) that operate withself.values
,other.values
, and as a result behave differently from their Series/Index analogues. Example:AFAICT there are two options for how to fix these:
Have all DataFrame arith/comparison ops operate column-wise. Downside is performance hit on currently-OK operations; AFAIK this is part of the motivation behind using Blocks in the first place.
Make
.values
point at EAs, implement the arith/comparison methods on EAs.The text was updated successfully, but these errors were encountered: