Skip to content

Commit

Permalink
DEPR: Enforce deprecation of groupby(...).grouper (pandas-dev#57207)
Browse files Browse the repository at this point in the history
  • Loading branch information
rhshadrach authored and pmhatre1 committed May 7, 2024
1 parent 61823bd commit 4e03a57
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 36 deletions.
1 change: 1 addition & 0 deletions doc/source/whatsnew/v3.0.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ Deprecations
Removal of prior version deprecations/changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Removed :meth:`DataFrameGroupby.fillna` and :meth:`SeriesGroupBy.fillna` (:issue:`55719`)
- Removed ``DataFrameGroupBy.grouper`` and ``SeriesGroupBy.grouper`` (:issue:`56521`)
- 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`)
- Removed ``axis`` argument from all groupby operations (:issue:`50405`)
- Removed deprecated argument ``obj`` in :meth:`.DataFrameGroupBy.get_group` and :meth:`.SeriesGroupBy.get_group` (:issue:`53545`)
Expand Down
11 changes: 0 additions & 11 deletions pandas/core/groupby/groupby.py
Original file line number Diff line number Diff line change
Expand Up @@ -794,17 +794,6 @@ def __repr__(self) -> str:
# TODO: Better repr for GroupBy object
return object.__repr__(self)

@final
@property
def grouper(self) -> ops.BaseGrouper:
warnings.warn(
f"{type(self).__name__}.grouper is deprecated and will be removed in a "
"future version of pandas.",
category=FutureWarning,
stacklevel=find_stack_level(),
)
return self._grouper

@final
@property
def groups(self) -> dict[Hashable, np.ndarray]:
Expand Down
11 changes: 0 additions & 11 deletions pandas/core/groupby/grouper.py
Original file line number Diff line number Diff line change
Expand Up @@ -428,17 +428,6 @@ def obj(self):
)
return self._obj_deprecated

@final
@property
def grouper(self):
warnings.warn(
f"{type(self).__name__}.grouper is deprecated and will be removed "
"in a future version. Use GroupBy.grouper instead.",
FutureWarning,
stacklevel=find_stack_level(),
)
return self._grouper_deprecated

@final
@property
def groups(self):
Expand Down
17 changes: 3 additions & 14 deletions pandas/tests/groupby/test_grouping.py
Original file line number Diff line number Diff line change
Expand Up @@ -414,9 +414,7 @@ def test_grouper_getting_correct_binner(self):

def test_grouper_iter(self, df):
gb = df.groupby("A")
msg = "DataFrameGroupBy.grouper is deprecated"
with tm.assert_produces_warning(FutureWarning, match=msg):
grouper = gb.grouper
grouper = gb._grouper
result = sorted(grouper)
expected = ["bar", "foo"]
assert result == expected
Expand All @@ -428,9 +426,7 @@ def test_empty_groups(self, df):

def test_groupby_grouper(self, df):
grouped = df.groupby("A")
msg = "DataFrameGroupBy.grouper is deprecated"
with tm.assert_produces_warning(FutureWarning, match=msg):
grouper = grouped.grouper
grouper = grouped._grouper
result = df.groupby(grouper).mean(numeric_only=True)
expected = grouped.mean(numeric_only=True)
tm.assert_frame_equal(result, expected)
Expand Down Expand Up @@ -791,9 +787,7 @@ def test_groupby_empty(self):

# check name
gb = s.groupby(s)
msg = "SeriesGroupBy.grouper is deprecated"
with tm.assert_produces_warning(FutureWarning, match=msg):
grouper = gb.grouper
grouper = gb._grouper
result = grouper.names
expected = ["name"]
assert result == expected
Expand Down Expand Up @@ -1155,11 +1149,6 @@ def test_grouper_groups():
res = grper.groups
assert res is gb.groups

msg = "Use GroupBy.grouper instead"
with tm.assert_produces_warning(FutureWarning, match=msg):
res = grper.grouper
assert res is gb._grouper

msg = "Grouper.obj is deprecated and will be removed"
with tm.assert_produces_warning(FutureWarning, match=msg):
res = grper.obj
Expand Down

0 comments on commit 4e03a57

Please sign in to comment.