Skip to content

Commit 4e03a57

Browse files
rhshadrachpmhatre1
authored andcommitted
DEPR: Enforce deprecation of groupby(...).grouper (pandas-dev#57207)
1 parent 61823bd commit 4e03a57

File tree

4 files changed

+4
-36
lines changed

4 files changed

+4
-36
lines changed

doc/source/whatsnew/v3.0.0.rst

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ Deprecations
103103
Removal of prior version deprecations/changes
104104
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105105
- Removed :meth:`DataFrameGroupby.fillna` and :meth:`SeriesGroupBy.fillna` (:issue:`55719`)
106+
- Removed ``DataFrameGroupBy.grouper`` and ``SeriesGroupBy.grouper`` (:issue:`56521`)
106107
- Removed ``axis`` argument from :meth:`DataFrame.groupby`, :meth:`Series.groupby`, :meth:`DataFrame.rolling`, :meth:`Series.rolling`, :meth:`DataFrame.resample`, and :meth:`Series.resample` (:issue:`51203`)
107108
- Removed ``axis`` argument from all groupby operations (:issue:`50405`)
108109
- Removed deprecated argument ``obj`` in :meth:`.DataFrameGroupBy.get_group` and :meth:`.SeriesGroupBy.get_group` (:issue:`53545`)

pandas/core/groupby/groupby.py

-11
Original file line numberDiff line numberDiff line change
@@ -794,17 +794,6 @@ def __repr__(self) -> str:
794794
# TODO: Better repr for GroupBy object
795795
return object.__repr__(self)
796796

797-
@final
798-
@property
799-
def grouper(self) -> ops.BaseGrouper:
800-
warnings.warn(
801-
f"{type(self).__name__}.grouper is deprecated and will be removed in a "
802-
"future version of pandas.",
803-
category=FutureWarning,
804-
stacklevel=find_stack_level(),
805-
)
806-
return self._grouper
807-
808797
@final
809798
@property
810799
def groups(self) -> dict[Hashable, np.ndarray]:

pandas/core/groupby/grouper.py

-11
Original file line numberDiff line numberDiff line change
@@ -428,17 +428,6 @@ def obj(self):
428428
)
429429
return self._obj_deprecated
430430

431-
@final
432-
@property
433-
def grouper(self):
434-
warnings.warn(
435-
f"{type(self).__name__}.grouper is deprecated and will be removed "
436-
"in a future version. Use GroupBy.grouper instead.",
437-
FutureWarning,
438-
stacklevel=find_stack_level(),
439-
)
440-
return self._grouper_deprecated
441-
442431
@final
443432
@property
444433
def groups(self):

pandas/tests/groupby/test_grouping.py

+3-14
Original file line numberDiff line numberDiff line change
@@ -414,9 +414,7 @@ def test_grouper_getting_correct_binner(self):
414414

415415
def test_grouper_iter(self, df):
416416
gb = df.groupby("A")
417-
msg = "DataFrameGroupBy.grouper is deprecated"
418-
with tm.assert_produces_warning(FutureWarning, match=msg):
419-
grouper = gb.grouper
417+
grouper = gb._grouper
420418
result = sorted(grouper)
421419
expected = ["bar", "foo"]
422420
assert result == expected
@@ -428,9 +426,7 @@ def test_empty_groups(self, df):
428426

429427
def test_groupby_grouper(self, df):
430428
grouped = df.groupby("A")
431-
msg = "DataFrameGroupBy.grouper is deprecated"
432-
with tm.assert_produces_warning(FutureWarning, match=msg):
433-
grouper = grouped.grouper
429+
grouper = grouped._grouper
434430
result = df.groupby(grouper).mean(numeric_only=True)
435431
expected = grouped.mean(numeric_only=True)
436432
tm.assert_frame_equal(result, expected)
@@ -791,9 +787,7 @@ def test_groupby_empty(self):
791787

792788
# check name
793789
gb = s.groupby(s)
794-
msg = "SeriesGroupBy.grouper is deprecated"
795-
with tm.assert_produces_warning(FutureWarning, match=msg):
796-
grouper = gb.grouper
790+
grouper = gb._grouper
797791
result = grouper.names
798792
expected = ["name"]
799793
assert result == expected
@@ -1155,11 +1149,6 @@ def test_grouper_groups():
11551149
res = grper.groups
11561150
assert res is gb.groups
11571151

1158-
msg = "Use GroupBy.grouper instead"
1159-
with tm.assert_produces_warning(FutureWarning, match=msg):
1160-
res = grper.grouper
1161-
assert res is gb._grouper
1162-
11631152
msg = "Grouper.obj is deprecated and will be removed"
11641153
with tm.assert_produces_warning(FutureWarning, match=msg):
11651154
res = grper.obj

0 commit comments

Comments
 (0)