ENH check_array returns numeric array w/ mixed typed dataframes #22237
+77
−21
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.
Reference Issues/PRs
Related to #22231
What does this implement/fix? Explain your changes.
This PR allows us to better handle DataFrames with boolean dtypes, when
dtype=None
. It also refactors the code slightly to make it easier to reason about. With the following snippet:main
, the dtype ofarray
is objectarray
is int64.Another example is:
main
, the dtype ofarray
is float.array
is int64.Any other comments?
I think the semantics of
dtype=None
is weird when the dataframe has mixed dtypes. There is really no way to "preserve the original dtype". With this PR, the semantics become "usenp.result_type
to make a good guess".CC @glemaitre