converting daily stock data to weekly-based via pandas in Python
You can resample (to weekly), offset (shift), and apply aggregation rules as follows: logic = {‘Open’ : ‘first’, ‘High’ : ‘max’, ‘Low’ : ‘min’, ‘Close’ : ‘last’, ‘Volume’: ‘sum’} offset = pd.offsets.timedelta(days=-6) f = pd.read_clipboard(parse_dates=[‘Date’], index_col=[‘Date’]) f.resample(‘W’, loffset=offset).apply(logic) to get: Open High Low Close Volume Date 2010-01-04 38.660000 40.700001 38.509998 40.290001 5925600 2010-01-11 40.209999 40.970001 … Read more