From e9b07ab2ab3b2f86e5bc15fcff677a25d7522b2d Mon Sep 17 00:00:00 2001 From: Ofsouzap Date: Sat, 9 Nov 2024 17:05:21 +0000 Subject: [PATCH 1/4] Add pandas.core.groupby.generic classes module setting --- pandas/core/groupby/generic.py | 4 ++++ pandas/tests/api/test_api.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index f076f8d79f104..9c5aa669a4b15 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -32,6 +32,7 @@ Appender, Substitution, doc, + set_module, ) from pandas.util._exceptions import find_stack_level @@ -108,6 +109,7 @@ ScalarResult = TypeVar("ScalarResult") +@set_module("pandas") class NamedAgg(NamedTuple): """ Helper for column specific aggregation with control over output column names. @@ -142,6 +144,7 @@ class NamedAgg(NamedTuple): aggfunc: AggScalar +@set_module("pandas") class SeriesGroupBy(GroupBy[Series]): def _wrap_agged_manager(self, mgr: Manager) -> Series: out = self.obj._constructor_from_mgr(mgr, axes=mgr.axes) @@ -1555,6 +1558,7 @@ def unique(self) -> Series: return result +@set_module("pandas") class DataFrameGroupBy(GroupBy[DataFrame]): _agg_examples_doc = dedent( """ diff --git a/pandas/tests/api/test_api.py b/pandas/tests/api/test_api.py index 54e0453ed569b..b5291ce782ecf 100644 --- a/pandas/tests/api/test_api.py +++ b/pandas/tests/api/test_api.py @@ -420,3 +420,6 @@ def test_set_module(): assert pd.Series.__module__ == "pandas" assert pd.date_range.__module__ == "pandas" assert pd.bdate_range.__module__ == "pandas" + assert pd.NamedAgg.__module__ == "pandas" + assert pd.SeriesGroupBy.__module__ == "pandas" + assert pd.DataFrameGroupBy.__module__ == "pandas" From 983b577b0ca6839043f9c88cd26695ace1746efa Mon Sep 17 00:00:00 2001 From: Ofsouzap Date: Sat, 9 Nov 2024 17:30:18 +0000 Subject: [PATCH 2/4] Remove incorrect changes --- pandas/core/groupby/generic.py | 2 -- pandas/tests/api/test_api.py | 2 -- 2 files changed, 4 deletions(-) diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 9c5aa669a4b15..63a523d58a79b 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -144,7 +144,6 @@ class NamedAgg(NamedTuple): aggfunc: AggScalar -@set_module("pandas") class SeriesGroupBy(GroupBy[Series]): def _wrap_agged_manager(self, mgr: Manager) -> Series: out = self.obj._constructor_from_mgr(mgr, axes=mgr.axes) @@ -1558,7 +1557,6 @@ def unique(self) -> Series: return result -@set_module("pandas") class DataFrameGroupBy(GroupBy[DataFrame]): _agg_examples_doc = dedent( """ diff --git a/pandas/tests/api/test_api.py b/pandas/tests/api/test_api.py index b5291ce782ecf..ad18fb3e48e1c 100644 --- a/pandas/tests/api/test_api.py +++ b/pandas/tests/api/test_api.py @@ -421,5 +421,3 @@ def test_set_module(): assert pd.date_range.__module__ == "pandas" assert pd.bdate_range.__module__ == "pandas" assert pd.NamedAgg.__module__ == "pandas" - assert pd.SeriesGroupBy.__module__ == "pandas" - assert pd.DataFrameGroupBy.__module__ == "pandas" From c3a6d52e2ffa138a22ee4902a7c46154296500a0 Mon Sep 17 00:00:00 2001 From: Ofsouzap Date: Sun, 10 Nov 2024 15:36:23 +0000 Subject: [PATCH 3/4] Set module dunder for group by classes --- pandas/core/groupby/generic.py | 2 ++ pandas/tests/api/test_api.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 63a523d58a79b..5ba382bf66bb7 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -144,6 +144,7 @@ class NamedAgg(NamedTuple): aggfunc: AggScalar +@set_module("pandas.api.typing") class SeriesGroupBy(GroupBy[Series]): def _wrap_agged_manager(self, mgr: Manager) -> Series: out = self.obj._constructor_from_mgr(mgr, axes=mgr.axes) @@ -1557,6 +1558,7 @@ def unique(self) -> Series: return result +@set_module("pandas.api.typing") class DataFrameGroupBy(GroupBy[DataFrame]): _agg_examples_doc = dedent( """ diff --git a/pandas/tests/api/test_api.py b/pandas/tests/api/test_api.py index ad18fb3e48e1c..e9e8b9dad17c4 100644 --- a/pandas/tests/api/test_api.py +++ b/pandas/tests/api/test_api.py @@ -421,3 +421,5 @@ def test_set_module(): assert pd.date_range.__module__ == "pandas" assert pd.bdate_range.__module__ == "pandas" assert pd.NamedAgg.__module__ == "pandas" + assert pd.api.typing.SeriesGroupBy.__module__ == "pandas.api.typing" + assert pd.api.typing.DataFrameGroupBy.__module__ == "pandas.api.typing" From 9ec54e5f2798f76b407563edc38d71d222902946 Mon Sep 17 00:00:00 2001 From: Ofsouzap Date: Sun, 10 Nov 2024 18:02:09 +0000 Subject: [PATCH 4/4] Correct API usage --- pandas/tests/api/test_api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/tests/api/test_api.py b/pandas/tests/api/test_api.py index e9e8b9dad17c4..2a96ef35c981c 100644 --- a/pandas/tests/api/test_api.py +++ b/pandas/tests/api/test_api.py @@ -421,5 +421,5 @@ def test_set_module(): assert pd.date_range.__module__ == "pandas" assert pd.bdate_range.__module__ == "pandas" assert pd.NamedAgg.__module__ == "pandas" - assert pd.api.typing.SeriesGroupBy.__module__ == "pandas.api.typing" - assert pd.api.typing.DataFrameGroupBy.__module__ == "pandas.api.typing" + assert api.typing.SeriesGroupBy.__module__ == "pandas.api.typing" + assert api.typing.DataFrameGroupBy.__module__ == "pandas.api.typing"