Closed
Description
import pandas as pd
#8/6/12 is a Monday
ind = pd.DatetimeIndex(start="8/6/2012", end="8/26/2012", freq="D")
n = len(ind)
data = [[x] * 5 for x in range(n)]
df = pd.DataFrame(data, columns=['open', 'high', 'low', 'close', 'vol'], index=ind)
df.resample('W-MON', how='first', closed='left', label='left')
Will result in an error. I tracked it down to
def _adjust_bin_edges(self, binner, ax_values):
# Some hacks for > daily data, see #1471, #1458, #1483
bin_edges = binner.asi8
if self.freq != 'D' and is_superperiod(self.freq, 'D'):
day_nanos = _delta_to_nanoseconds(timedelta(1))
if self.closed == 'right':
bin_edges = bin_edges + day_nanos - 1
else:
bin_edges = bin_edges + day_nanos
I'm not sure why the day is added when closed='left'. Even on datasets that don't start on a Monday, and thus don't error, it'll cause the intervals to start on Tuesday.