diff --git a/pandas/_typing.py b/pandas/_typing.py index f5bf0dcd3e220..a2bb168c1e2da 100644 --- a/pandas/_typing.py +++ b/pandas/_typing.py @@ -1,5 +1,5 @@ from pathlib import Path -from typing import IO, AnyStr, Type, Union +from typing import IO, AnyStr, TypeVar, Union import numpy as np @@ -11,12 +11,14 @@ from pandas.core.dtypes.generic import ( ABCExtensionArray, ABCIndexClass, ABCSeries, ABCSparseSeries) -AnyArrayLike = Union[ABCExtensionArray, - ABCIndexClass, - ABCSeries, - ABCSparseSeries, - np.ndarray] -ArrayLike = Union[ABCExtensionArray, np.ndarray] -DatetimeLikeScalar = Type[Union[Period, Timestamp, Timedelta]] +AnyArrayLike = TypeVar('AnyArrayLike', + ABCExtensionArray, + ABCIndexClass, + ABCSeries, + ABCSparseSeries, + np.ndarray) +ArrayLike = TypeVar('ArrayLike', ABCExtensionArray, np.ndarray) +DatetimeLikeScalar = TypeVar('DatetimeLikeScalar', Period, Timestamp, + Timedelta) Dtype = Union[str, np.dtype, ExtensionDtype] FilePathOrBuffer = Union[str, Path, IO[AnyStr]] diff --git a/pandas/core/arrays/datetimelike.py b/pandas/core/arrays/datetimelike.py index c32f8642dc2ed..c99c09cdac96c 100644 --- a/pandas/core/arrays/datetimelike.py +++ b/pandas/core/arrays/datetimelike.py @@ -1,6 +1,6 @@ from datetime import datetime, timedelta import operator -from typing import Any, Sequence, Union, cast +from typing import Any, Sequence, Type, Union, cast import warnings import numpy as np @@ -58,7 +58,7 @@ def _get_attributes_dict(self): return {k: getattr(self, k, None) for k in self._attributes} @property - def _scalar_type(self) -> DatetimeLikeScalar: + def _scalar_type(self) -> Type[DatetimeLikeScalar]: """The scalar associated with this datelike * PeriodArray : Period