diff --git a/pandas/core/groupby/grouper.py b/pandas/core/groupby/grouper.py index f0c6eedf5cee4..2d723865f08ce 100644 --- a/pandas/core/groupby/grouper.py +++ b/pandas/core/groupby/grouper.py @@ -107,7 +107,6 @@ def __init__(self, key=None, level=None, freq=None, axis=0, sort=False): self.freq = freq self.axis = axis self.sort = sort - self.grouper = None self.obj = None self.indexer = None diff --git a/pandas/tests/resample/test_resampler_grouper.py b/pandas/tests/resample/test_resampler_grouper.py index 03c1445e099a0..89384a7ad8d75 100644 --- a/pandas/tests/resample/test_resampler_grouper.py +++ b/pandas/tests/resample/test_resampler_grouper.py @@ -1,6 +1,7 @@ from textwrap import dedent import numpy as np +import pytest from pandas.util._test_decorators import async_mark @@ -295,3 +296,35 @@ def test_median_duplicate_columns(): result = df.resample("5s").median() expected.columns = result.columns tm.assert_frame_equal(result, expected) + + +@pytest.mark.xfail(reason="marked as xfail for: #26564") +def test_same_grouper_on_different_frames(): + + df1 = pd.DataFrame( + [["a", 1, 2], ["a", 4, 5], ["b", 2, 3]], columns=["type", "num1", "num2"], + ) + df1["date"] = pd.to_datetime(["05/29/2019", "05/28/2019", "05/27/2019"]) + + df2 = pd.DataFrame([["c", 6, 7], ["d", 8, 9]], columns=["type", "num1", "num2"],) + df2["date"] = pd.to_datetime(["02/12/2018", "03/13/2018"]) + + groupbys = ["type", pd.Grouper(key="date", freq="1D")] + + df1.groupby(groupbys).sum() + result = df2.groupby(groupbys).count() + + expected = pd.DataFrame( + { + "num1": { + ("c", Timestamp("2018-02-12 00:00:00", freq="D")): 1, + ("d", Timestamp("2018-03-13 00:00:00", freq="D")): 1, + }, + "num2": { + ("c", Timestamp("2018-02-12 00:00:00", freq="D")): 1, + ("d", Timestamp("2018-03-13 00:00:00", freq="D")): 1, + }, + } + ) + expected.index.set_names(["type", "date"], inplace=True) + tm.assert_frame_equal(result, expected)