У меня есть ежедневные данные OCHL, которые доступны в рабочие дни, и я пытаюсь повторно сопоставить их с 36-дневными периодами, чтобы привести их в соответствие с моим графиком.
Данные в следующем формате:
date open close high low
0 2019-05-01 21:00:00 0.70147 0.70023 0.70292 0.69952
1 2019-04-30 21:00:00 0.70476 0.70140 0.70610 0.70074
2 2019-04-29 21:00:00 0.70554 0.70498 0.70692 0.70308
3 2019-04-28 21:00:00 0.70380 0.70564 0.70609 0.70377
4 2019-04-25 21:00:00 0.70149 0.70434 0.70613 0.70074
Я делаю ресэмплинг так:
year_resampled = df_year.resample('36B').agg({'date':'first','open':'first','close':'last','high':'max','low':'min'})
Проблема возникает, когда данные охватывают выходные; У меня есть интервал, который заканчивается в четверг. Для пятницы отсутствует значение, и функция повторной выборки извлекает данные из воскресенья, чтобы начать новый интервал. Он начинает новый интервал с воскресенья, и мне нужно изменить дату обратно на пятницу. Пример:
[datetime.datetime(2018, 7, 23, 21, 0), 0.7379, 0.74176, 0.7434, 0.73596],
[datetime.datetime(2018, 7, 22, 21, 0), 0.74183, 0.73812, 0.74376, 0.73718], - Sunday, new interval starts. Here I want to change date to 2018-7-20
[datetime.datetime(2018, 7, 19, 21, 0), 0.73572, 0.74167, 0.74309, 0.73182], -- Thursday (interval ends)