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

BUG: fix #60128 BUG: Series.combine_first loss of precision #60166

Closed

Conversation

cooolheater
Copy link

- Issue: There was int64->float64->int64 conversions
- Fix: Carry out the operation without passing through float64
Copy link
Member

@rhshadrach rhshadrach left a comment

Choose a reason for hiding this comment

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

Thanks for the PR! When changing behavior, please always add tests.

@@ -8640,7 +8640,10 @@ def combine(
"""
other_idxlen = len(other.index) # save for compare

this, other = self.align(other)
fill_value_for_align = None
if all(self.dtypes.eq(np.int64)) and all(other.dtypes.eq(np.int64)):
Copy link
Member

Choose a reason for hiding this comment

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

This needs to be a lot more robust, e.g. can't only be for int64.

@rhshadrach rhshadrach added Bug Dtype Conversions Unexpected or buggy dtype conversions labels Nov 6, 2024
@cooolheater
Copy link
Author

It seems this needs more general approach, and it would not suitable for a newbie like me. So, I'd like to just close this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Dtype Conversions Unexpected or buggy dtype conversions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BUG: Series.combine_first loss of precision
2 participants