diff --git a/pandas/tests/tseries/test_resample.py b/pandas/tests/tseries/test_resample.py index 1535bd665fe8b..56953dc378965 100755 --- a/pandas/tests/tseries/test_resample.py +++ b/pandas/tests/tseries/test_resample.py @@ -2670,6 +2670,11 @@ def test_resample_weekly_bug_1726(self): # it works! df.resample('W-MON', closed='left', label='left').first() + def test_resample_tz_aware_bug_15549(self): + index = pd.DatetimeIndex([1450137600000000000, 1474059600000000000], tz='UTC').tz_convert('America/Chicago') + df = pd.DataFrame([1, 2], index=index) + df.resample('12h', closed='right', label='right').last().ffill() + def test_resample_bms_2752(self): # GH2753 foo = pd.Series(index=pd.bdate_range('20000101', '20000201')) diff --git a/pandas/tseries/index.py b/pandas/tseries/index.py index 5f00e8b648689..7f2f78d73c42a 100644 --- a/pandas/tseries/index.py +++ b/pandas/tseries/index.py @@ -1944,10 +1944,7 @@ def _generate_regular_range(start, end, periods, offset): stride = offset.nanos if periods is None: b = Timestamp(start).value - # cannot just use e = Timestamp(end) + 1 because arange breaks when - # stride is too large, see GH10887 - e = (b + (Timestamp(end).value - b) // stride * stride + - stride // 2 + 1) + e = (Timestamp(end).value + (stride//2) + 1) # end.tz == start.tz by this point due to _generate implementation tz = start.tz elif start is not None: