diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 982a57a6f725e..66fc4567cbcc1 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -8550,6 +8550,11 @@ def first(self, offset): return self offset = to_offset(offset) + + # Check if offset and index[0] overlap + if offset.onOffset(self.index[0]): + return self.loc[:self.index[0]] + end_date = end = self.index[0] + offset # Tick-like, e.g. 3 weeks diff --git a/pandas/tests/generic/test_generic.py b/pandas/tests/generic/test_generic.py index c180511e31619..d8dab3dffc436 100644 --- a/pandas/tests/generic/test_generic.py +++ b/pandas/tests/generic/test_generic.py @@ -912,7 +912,7 @@ def test_equals(self): def test_pipe(self): df = DataFrame({"A": [1, 2, 3]}) - f = lambda x, y: x ** y + def f(x, y): return x ** y result = df.pipe(f, 2) expected = DataFrame({"A": [1, 4, 9]}) tm.assert_frame_equal(result, expected) @@ -922,7 +922,7 @@ def test_pipe(self): def test_pipe_tuple(self): df = DataFrame({"A": [1, 2, 3]}) - f = lambda x, y: y + def f(x, y): return y result = df.pipe((f, "y"), 0) tm.assert_frame_equal(result, df) @@ -931,7 +931,7 @@ def test_pipe_tuple(self): def test_pipe_tuple_error(self): df = DataFrame({"A": [1, 2, 3]}) - f = lambda x, y: y + def f(x, y): return y with pytest.raises(ValueError): df.pipe((f, "y"), x=1, y=0) @@ -970,3 +970,10 @@ def test_deprecated_get_dtype_counts(self): df = DataFrame([1]) with tm.assert_produces_warning(FutureWarning): df.get_dtype_counts() + + # test case where offset and index[0] overlap + def test_first_index_series_last_day_of_month(self): + series = pd.Series(1, index=pd.bdate_range('2010-03-31', periods=100)) + res = series.first('1M') + assert("2010-03-31" in res) + assert("2010-04-30" not in res) diff --git a/pandas/tests/io/sas/data/DEMO_G.xpt b/pandas/tests/io/sas/data/DEMO_G.xpt deleted file mode 100644 index 587bc3c4eb649..0000000000000 Binary files a/pandas/tests/io/sas/data/DEMO_G.xpt and /dev/null differ diff --git a/pandas/tests/io/sas/data/DRXFCD_G.xpt b/pandas/tests/io/sas/data/DRXFCD_G.xpt deleted file mode 100644 index 15de11e8f9f49..0000000000000 Binary files a/pandas/tests/io/sas/data/DRXFCD_G.xpt and /dev/null differ