-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
CLN refactor maybe-castable #39257
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
CLN refactor maybe-castable #39257
Conversation
pandas/core/dtypes/cast.py
Outdated
@@ -1301,20 +1301,18 @@ def convert_dtypes( | |||
return inferred_dtype | |||
|
|||
|
|||
def maybe_castable(arr: np.ndarray) -> bool: | |||
def maybe_castable(dtype: DtypeObj) -> bool: |
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 think just np.dtype?
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.
in light of #39104 (comment) , maybe it's worth mothballing this too until we have numpy types
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.
kk let's revert this part
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 dont understand why "just use np.dtype
" isnt the right thing to do 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.
I thought the objection was that it resolves to Any:
$ cat t.py
import numpy as np
a: np.dtype
reveal_type(a)
$ mypy t.py
t.py:4: note: Revealed type is 'Any'
- is that OK?
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.
wont that get fixed on numpy's end at some point? i mean, np.dtype is the correct type 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.
the problem (in general) is that we are adding a type that resolves to Any, so if there are mypy issues 'lurking' they will not be reported.
when we do have numpy types, we may then have more errors to resolve.
That train left the station long ago. so potentially having a few more errors is nbd.
this is a different scenario to #39104 (comment). That PR is focused on removing type ignores. In that case, the correct type is np.ufunc and not Callable, so again changing that is the right thing to do. just maybe not at the right time.
thanks @MarcoGorelli |
extracted from #37586