From d7a392d8c9cb01af02bcf9502b6b32a7e585aa74 Mon Sep 17 00:00:00 2001 From: tkmz-n <60312218+tkmz-n@users.noreply.github.com> Date: Wed, 19 Aug 2020 07:52:29 +0000 Subject: [PATCH 1/2] TST: resample does not yield empty groups (#10603) --- pandas/tests/resample/test_timedelta.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pandas/tests/resample/test_timedelta.py b/pandas/tests/resample/test_timedelta.py index 0fbb60c176b30..4e092ae29999b 100644 --- a/pandas/tests/resample/test_timedelta.py +++ b/pandas/tests/resample/test_timedelta.py @@ -150,3 +150,15 @@ def test_resample_timedelta_edge_case(start, end, freq, resample_freq): tm.assert_index_equal(result.index, expected_index) assert result.index.freq == expected_index.freq assert not np.isnan(result[-1]) + + +def test_resample_timedelta_no_empty_groups(): + # GH 10603 + # check that resample does not yield empty groups + df = pd.DataFrame(np.random.normal(size=(10000, 4))) + df.index = pd.timedelta_range(start="0s", periods=10000, freq="3906250n") + result = df.loc["1s":, :].resample("3s").apply(lambda x: len(x)) + + expected = pd.DataFrame([[768.0] * 4] * 12 + [[528.0] * 4]) + expected.index = pd.timedelta_range(start="1s", periods=13, freq="3s") + tm.assert_frame_equal(result, expected) From aba2a1fd2fdb3b80dbfc439c0608a38124b7a45b Mon Sep 17 00:00:00 2001 From: tkmz-n <60312218+tkmz-n@users.noreply.github.com> Date: Thu, 20 Aug 2020 13:39:14 +0000 Subject: [PATCH 2/2] apply the review comments --- pandas/tests/resample/test_timedelta.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pandas/tests/resample/test_timedelta.py b/pandas/tests/resample/test_timedelta.py index 4e092ae29999b..3fa85e62d028c 100644 --- a/pandas/tests/resample/test_timedelta.py +++ b/pandas/tests/resample/test_timedelta.py @@ -152,13 +152,16 @@ def test_resample_timedelta_edge_case(start, end, freq, resample_freq): assert not np.isnan(result[-1]) -def test_resample_timedelta_no_empty_groups(): +def test_resample_with_timedelta_yields_no_empty_groups(): # GH 10603 - # check that resample does not yield empty groups - df = pd.DataFrame(np.random.normal(size=(10000, 4))) - df.index = pd.timedelta_range(start="0s", periods=10000, freq="3906250n") + df = pd.DataFrame( + np.random.normal(size=(10000, 4)), + index=pd.timedelta_range(start="0s", periods=10000, freq="3906250n"), + ) result = df.loc["1s":, :].resample("3s").apply(lambda x: len(x)) - expected = pd.DataFrame([[768.0] * 4] * 12 + [[528.0] * 4]) - expected.index = pd.timedelta_range(start="1s", periods=13, freq="3s") + expected = pd.DataFrame( + [[768.0] * 4] * 12 + [[528.0] * 4], + index=pd.timedelta_range(start="1s", periods=13, freq="3s"), + ) tm.assert_frame_equal(result, expected)