-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
REGR: Replace changes the dtype of other columns #46636
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
Merged
mroeschke
merged 4 commits into
pandas-dev:main
from
simonjayhawkins:replace-regression
May 25, 2022
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
c2d99ba
REGR: Replace changes the dtype of other columns
simonjayhawkins c0cb9ed
Merge remote-tracking branch 'upstream/main' into replace-regression
simonjayhawkins 4aaa243
copy if not inplace
simonjayhawkins 79cc4d2
Merge branch 'main' into replace-regression
simonjayhawkins File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
probably need self.copy() if not inplace?
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, in #46404 (the cause of the latest regression), I reverted some of the code change in #44940 (the cause of the previous regression). In this PR I have reverted some more of the changes in #44940 that obviously (now!) should also have been included in the previous regression fix. I don't see the original code making a copy if not mask.any().
but yes, in #44940 the code path was changed to dispatch to Block.replace which does make a copy even if the replace is a no-op. So as a pure regression fix we could keep this as is, but also happy to do a copy for consistency with other replacements in 1.4.x
my biggest concern (need to check this though) is categorical since the special casing was also moved in #44940.
I will mark this a draft for now, (till we get closer to the next release) and see if we can get the issues on master sorted so that we can dispatch to Block.replace when the replacement value is
None
. (doing that might end up being difficult to backport though)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.
I'm pretty actively trying to dis-engage, not gonna fuss about it either way. i trust your judgment here.
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.
There is an issue raised for the categorical issue #46672, so can keep that out of this PR for now.
I guess no harm in getting this bit sorted and then doing that as a separate PR. (maybe after #46672 is sorted).