diff --git a/pandas/core/arrays/numeric.py b/pandas/core/arrays/numeric.py index cdffd57df9a84..b32cbdcba1853 100644 --- a/pandas/core/arrays/numeric.py +++ b/pandas/core/arrays/numeric.py @@ -5,6 +5,7 @@ TYPE_CHECKING, Any, Callable, + Mapping, TypeVar, ) @@ -113,11 +114,11 @@ def __from_arrow__( return array_class._concat_same_type(results) @classmethod - def _str_to_dtype_mapping(cls): + def _str_to_dtype_mapping(cls) -> Mapping[str, NumericDtype]: raise AbstractMethodError(cls) @classmethod - def _standardize_dtype(cls, dtype) -> NumericDtype: + def _standardize_dtype(cls, dtype: NumericDtype | str | np.dtype) -> NumericDtype: """ Convert a string representation or a numpy dtype to NumericDtype. """ @@ -126,7 +127,7 @@ def _standardize_dtype(cls, dtype) -> NumericDtype: # https://github.com/numpy/numpy/pull/7476 dtype = dtype.lower() - if not issubclass(type(dtype), cls): + if not isinstance(dtype, NumericDtype): mapping = cls._str_to_dtype_mapping() try: dtype = mapping[str(np.dtype(dtype))] diff --git a/pyright_reportGeneralTypeIssues.json b/pyright_reportGeneralTypeIssues.json index f6f9bed1af065..d05de313d7f46 100644 --- a/pyright_reportGeneralTypeIssues.json +++ b/pyright_reportGeneralTypeIssues.json @@ -28,7 +28,6 @@ "pandas/core/arrays/datetimes.py", "pandas/core/arrays/interval.py", "pandas/core/arrays/masked.py", - "pandas/core/arrays/numeric.py", "pandas/core/arrays/period.py", "pandas/core/arrays/sparse/array.py", "pandas/core/arrays/sparse/dtype.py",