diff --git a/pandas/_typing.py b/pandas/_typing.py index 2244be1b61fc6..a0578b49d5ecc 100644 --- a/pandas/_typing.py +++ b/pandas/_typing.py @@ -35,8 +35,11 @@ from pandas.core.arrays.base import ExtensionArray # noqa: F401 from pandas.core.frame import DataFrame from pandas.core.generic import NDFrame # noqa: F401 + from pandas.core.groupby.generic import DataFrameGroupBy, SeriesGroupBy from pandas.core.indexes.base import Index + from pandas.core.resample import Resampler from pandas.core.series import Series + from pandas.core.window.rolling import BaseWindow from pandas.io.formats.format import EngFormatter @@ -115,6 +118,14 @@ List[AggFuncTypeBase], AggFuncTypeDict, ] +AggObjType = Union[ + "Series", + "DataFrame", + "SeriesGroupBy", + "DataFrameGroupBy", + "BaseWindow", + "Resampler", +] # for arbitrary kwargs passed during reading/writing files diff --git a/pandas/core/aggregation.py b/pandas/core/aggregation.py index ffc3283152687..c64f0bd71cf84 100644 --- a/pandas/core/aggregation.py +++ b/pandas/core/aggregation.py @@ -24,6 +24,7 @@ AggFuncType, AggFuncTypeBase, AggFuncTypeDict, + AggObjType, Axis, FrameOrSeries, FrameOrSeriesUnion, @@ -530,7 +531,7 @@ def transform_str_or_callable( def aggregate( - obj, + obj: AggObjType, arg: AggFuncType, *args, **kwargs, @@ -580,7 +581,7 @@ def aggregate( def agg_list_like( - obj, + obj: AggObjType, arg: List[AggFuncTypeBase], _axis: int, ) -> FrameOrSeriesUnion: @@ -672,7 +673,7 @@ def agg_list_like( def agg_dict_like( - obj, + obj: AggObjType, arg: AggFuncTypeDict, _axis: int, ) -> FrameOrSeriesUnion: