Skip to content

Fix #60766:.map,.apply would convert element type for extension array #61396

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

pedromfdiogo
Copy link

@pedromfdiogo pedromfdiogo commented May 3, 2025

The Int32Dtype type allows representing integers with support for null values (pd.NA). However, when using .map(f) or .apply(f), the elements passed to f are converted to float64, and pd.NA is transformed into np.nan.

This happens because .map() and .apply() internally use numpy, which automatically converts the data to float64, even when the original type is Int32Dtype.

The fix (just remove the method to_numpy()) ensures that when using .map() or .apply(), the elements in the series retain their original type (Int32, Float64, boolean, etc.), preventing unnecessary conversions to float64 and ensuring that pd.NA remains correctly handled.

…sion array.

The Int32Dtype type allows representing integers with support for null
values (pd.NA). However, when using .map(f) or .apply(f), the elements
passed to f are converted to float64, and pd.NA is transformed into
np.nan.

This happens because .map() and .apply() internally use numpy, which
automatically converts the data to float64, even when the original type is
Int32Dtype.

The fix (just remove the method to_numpy()) ensures that when using
.map() or .apply(), the elements in the series retain their original type
(Int32, Float64, boolean, etc.), preventing unnecessary conversions to
float64 and ensuring that pd.NA remains correctly handled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BUG: .map & .apply would convert element type for extension array.
1 participant