Resample time series in pandas to a weekly interval
You will be much safer with resampling based on days and then slicing every 7th day, e.g:
ts.resample('D').interpolate()[::7]
See the underlying problem with other approaches in this open pandas issue on github:
https://github.com/pandas-dev/pandas/issues/16381
You can pass anchored offsets to resample
, among other options they cover this case.
For example the weekly frequency from Monday:
ts.resample('W-MON')
Neither Andy Haydens nor denfromufas answer worked for me but that did:
df.resample('W', label='left', loffset=pd.DateOffset(days=1))
as described in that answer: https://stackoverflow.com/a/46712821/1743551