From d3ab7088f52909a07978b6d269663f5fe1a172ec Mon Sep 17 00:00:00 2001 From: pilkibun Date: Fri, 28 Jun 2019 00:58:54 +0300 Subject: [PATCH 1/2] TST: Add missing tests for loc slicing of PeriodIndex, TimedeltaIndex --- pandas/tests/indexing/test_loc.py | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/pandas/tests/indexing/test_loc.py b/pandas/tests/indexing/test_loc.py index 2f6e908717071..b86b6aa3045d1 100644 --- a/pandas/tests/indexing/test_loc.py +++ b/pandas/tests/indexing/test_loc.py @@ -773,3 +773,35 @@ def test_series_indexing_zerodim_np_array(self): s = Series([1, 2]) result = s.loc[np.array(0)] assert result == 1 + + def test_PeriodIndex_str_slicing(self): + ix = pd.period_range(start='2017-01-01', end='2018-01-01', freq='M') + ser = ix.to_series() + result = ser.loc[:"2017-12"] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected) + + def test_TimedeltaIndex_str_slicing(self): + ix = pd.timedelta_range(start='1 day', end='2 days', freq='1H') + ser = ix.to_series() + result = ser.loc[:"1 days"] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected) + + def test_PeriodIndex_slicing(self): + ix = pd.period_range(start='2017-01-01', end='2018-01-01', freq='M') + ser = ix.to_series() + result = ser.loc[:ix[-2]] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected) + + def test_TimedeltaIndex_slicing(self): + ix = pd.timedelta_range(start='1 day', end='2 days', freq='1H') + ser = ix.to_series() + result = ser.loc[:ix[-2]] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected) From c65e9dcabfb97e2369b8caa9fe09ce4d7924d18a Mon Sep 17 00:00:00 2001 From: pilkibun Date: Fri, 28 Jun 2019 01:26:44 +0300 Subject: [PATCH 2/2] Move tests --- pandas/tests/indexing/test_datetime.py | 16 +++++++++++++ pandas/tests/indexing/test_loc.py | 32 ------------------------- pandas/tests/indexing/test_timedelta.py | 16 +++++++++++++ 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/pandas/tests/indexing/test_datetime.py b/pandas/tests/indexing/test_datetime.py index 4c865d00b3adb..d4da34cab6f5c 100644 --- a/pandas/tests/indexing/test_datetime.py +++ b/pandas/tests/indexing/test_datetime.py @@ -313,3 +313,19 @@ def test_loc_setitem_with_existing_dst(self): columns=['value'], dtype=object) tm.assert_frame_equal(result, expected) + + def test_loc_str_slicing(self): + ix = pd.period_range(start='2017-01-01', end='2018-01-01', freq='M') + ser = ix.to_series() + result = ser.loc[:"2017-12"] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected) + + def test_loc_label_slicing(self): + ix = pd.period_range(start='2017-01-01', end='2018-01-01', freq='M') + ser = ix.to_series() + result = ser.loc[:ix[-2]] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected) diff --git a/pandas/tests/indexing/test_loc.py b/pandas/tests/indexing/test_loc.py index b86b6aa3045d1..2f6e908717071 100644 --- a/pandas/tests/indexing/test_loc.py +++ b/pandas/tests/indexing/test_loc.py @@ -773,35 +773,3 @@ def test_series_indexing_zerodim_np_array(self): s = Series([1, 2]) result = s.loc[np.array(0)] assert result == 1 - - def test_PeriodIndex_str_slicing(self): - ix = pd.period_range(start='2017-01-01', end='2018-01-01', freq='M') - ser = ix.to_series() - result = ser.loc[:"2017-12"] - expected = ser.iloc[:-1] - - tm.assert_series_equal(result, expected) - - def test_TimedeltaIndex_str_slicing(self): - ix = pd.timedelta_range(start='1 day', end='2 days', freq='1H') - ser = ix.to_series() - result = ser.loc[:"1 days"] - expected = ser.iloc[:-1] - - tm.assert_series_equal(result, expected) - - def test_PeriodIndex_slicing(self): - ix = pd.period_range(start='2017-01-01', end='2018-01-01', freq='M') - ser = ix.to_series() - result = ser.loc[:ix[-2]] - expected = ser.iloc[:-1] - - tm.assert_series_equal(result, expected) - - def test_TimedeltaIndex_slicing(self): - ix = pd.timedelta_range(start='1 day', end='2 days', freq='1H') - ser = ix.to_series() - result = ser.loc[:ix[-2]] - expected = ser.iloc[:-1] - - tm.assert_series_equal(result, expected) diff --git a/pandas/tests/indexing/test_timedelta.py b/pandas/tests/indexing/test_timedelta.py index 8e7a71ad3d71e..e3f5bcff4a22e 100644 --- a/pandas/tests/indexing/test_timedelta.py +++ b/pandas/tests/indexing/test_timedelta.py @@ -95,3 +95,19 @@ def test_roundtrip_thru_setitem(self): assert expected == result tm.assert_frame_equal(df, df_copy) + + def test_loc_str_slicing(self): + ix = pd.timedelta_range(start='1 day', end='2 days', freq='1H') + ser = ix.to_series() + result = ser.loc[:"1 days"] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected) + + def test_loc_slicing(self): + ix = pd.timedelta_range(start='1 day', end='2 days', freq='1H') + ser = ix.to_series() + result = ser.loc[:ix[-2]] + expected = ser.iloc[:-1] + + tm.assert_series_equal(result, expected)