diff --git a/pandas/_typing.py b/pandas/_typing.py index 35c057df43322..1debc4265508f 100644 --- a/pandas/_typing.py +++ b/pandas/_typing.py @@ -73,6 +73,7 @@ else: npt: Any = None +HashableT = TypeVar("HashableT", bound=Hashable) # array-like diff --git a/pandas/core/reshape/concat.py b/pandas/core/reshape/concat.py index 72f3b402d49e3..17e78d3bb900a 100644 --- a/pandas/core/reshape/concat.py +++ b/pandas/core/reshape/concat.py @@ -18,7 +18,10 @@ import numpy as np -from pandas._typing import Axis +from pandas._typing import ( + Axis, + HashableT, +) from pandas.util._decorators import ( cache_readonly, deprecate_nonkeyword_arguments, @@ -62,7 +65,7 @@ @overload def concat( - objs: Iterable[DataFrame] | Mapping[Hashable, DataFrame], + objs: Iterable[DataFrame] | Mapping[HashableT, DataFrame], axis: Literal[0, "index"] = ..., join: str = ..., ignore_index: bool = ..., @@ -78,7 +81,7 @@ def concat( @overload def concat( - objs: Iterable[Series] | Mapping[Hashable, Series], + objs: Iterable[Series] | Mapping[HashableT, Series], axis: Literal[0, "index"] = ..., join: str = ..., ignore_index: bool = ..., @@ -94,7 +97,7 @@ def concat( @overload def concat( - objs: Iterable[NDFrame] | Mapping[Hashable, NDFrame], + objs: Iterable[NDFrame] | Mapping[HashableT, NDFrame], axis: Literal[0, "index"] = ..., join: str = ..., ignore_index: bool = ..., @@ -110,7 +113,7 @@ def concat( @overload def concat( - objs: Iterable[NDFrame] | Mapping[Hashable, NDFrame], + objs: Iterable[NDFrame] | Mapping[HashableT, NDFrame], axis: Literal[1, "columns"], join: str = ..., ignore_index: bool = ..., @@ -126,7 +129,7 @@ def concat( @overload def concat( - objs: Iterable[NDFrame] | Mapping[Hashable, NDFrame], + objs: Iterable[NDFrame] | Mapping[HashableT, NDFrame], axis: Axis = ..., join: str = ..., ignore_index: bool = ..., @@ -142,7 +145,7 @@ def concat( @deprecate_nonkeyword_arguments(version=None, allowed_args=["objs"]) def concat( - objs: Iterable[NDFrame] | Mapping[Hashable, NDFrame], + objs: Iterable[NDFrame] | Mapping[HashableT, NDFrame], axis: Axis = 0, join: str = "outer", ignore_index: bool = False, @@ -367,7 +370,7 @@ class _Concatenator: def __init__( self, - objs: Iterable[NDFrame] | Mapping[Hashable, NDFrame], + objs: Iterable[NDFrame] | Mapping[HashableT, NDFrame], axis=0, join: str = "outer", keys=None,