From 95eaa3b4e433ad83e248e72d62dea357873acd10 Mon Sep 17 00:00:00 2001 From: KD-dev-lab Date: Thu, 4 Jun 2020 13:57:30 +0200 Subject: [PATCH 1/2] TST: Added test to check that the freqstr attribute of the index is preserved after a shift operation. Run black and flake8. --- pandas/tests/series/methods/test_shift.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pandas/tests/series/methods/test_shift.py b/pandas/tests/series/methods/test_shift.py index 686e66162fe0b..3604a116169df 100644 --- a/pandas/tests/series/methods/test_shift.py +++ b/pandas/tests/series/methods/test_shift.py @@ -276,3 +276,20 @@ def test_shift_dt64values_int_fill_deprecated(self): expected = pd.Series([pd.Timestamp(0), ser[0]]) tm.assert_series_equal(result, expected) + + @pytest.mark.parametrize("periods", [1, 2, 3, 4]) + def test_shift_preserve_freqstr(self, periods): + # GH#21275 + data = list(range(0, periods)) + ser = pd.Series( + data, index=pd.date_range("2016-1-1 00:00:00", periods=periods, freq="H") + ) + + result = ser.shift(1, "2H") + + expected = pd.Series( + data, index=pd.date_range("2016-1-1 02:00:00", periods=periods, freq="H") + ) + assert str(np.dtype(result)) == "int64" + assert result.index.freqstr == "H" + tm.assert_series_equal(result, expected) From 4bda4e6e4ad06ee22a8c49b82257ce467b5a6f55 Mon Sep 17 00:00:00 2001 From: KD-dev-lab Date: Thu, 4 Jun 2020 18:41:12 +0200 Subject: [PATCH 2/2] TST: Reworked test_shift_preserve_freqstr after code review --- pandas/tests/series/methods/test_shift.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pandas/tests/series/methods/test_shift.py b/pandas/tests/series/methods/test_shift.py index 3604a116169df..f981e98100d31 100644 --- a/pandas/tests/series/methods/test_shift.py +++ b/pandas/tests/series/methods/test_shift.py @@ -280,16 +280,15 @@ def test_shift_dt64values_int_fill_deprecated(self): @pytest.mark.parametrize("periods", [1, 2, 3, 4]) def test_shift_preserve_freqstr(self, periods): # GH#21275 - data = list(range(0, periods)) ser = pd.Series( - data, index=pd.date_range("2016-1-1 00:00:00", periods=periods, freq="H") + range(periods), + index=pd.date_range("2016-1-1 00:00:00", periods=periods, freq="H"), ) result = ser.shift(1, "2H") expected = pd.Series( - data, index=pd.date_range("2016-1-1 02:00:00", periods=periods, freq="H") + range(periods), + index=pd.date_range("2016-1-1 02:00:00", periods=periods, freq="H"), ) - assert str(np.dtype(result)) == "int64" - assert result.index.freqstr == "H" tm.assert_series_equal(result, expected)