Не уверен, что я полностью понимаю ваш вопрос, но вот как я его интерпретировал:
Сценарий 1: вы просто хотите получить строк вашего фрейма данных, столбец даты которого находится в определенном диапазоне,Вы можете сделать это, используя pandas df.loc следующим образом ...
#Create a dataframe similar to yours
d = pd.DataFrame({'date': [datetime.date(2015,01,01), datetime.date(2015,01,02), datetime.date(2015,01,05), datetime.date(2015,01,06), datetime.date(2015, 01, 07)], 'open': [1, 2, 3, 4, 5]})
new_df = d.loc[(d['date'] >= datetime.date(2015,01,01)) & (d['date'] < datetime.date(2015,01,05))]
Возвращает строки, даты которых лежат между 2015-01-01 и 2015-01-05 (не включая 05).
Сценарий 2: вы хотите получить значения определенного столбца на основе вышеуказанного условия даты.Вы можете сделать это следующим образом ...
another_df = d.loc[(d['date'] >= datetime.date(2015,01,01)) & (d['date'] < datetime.date(2015,01,05)), 'open']
Мы просто указываем имя столбца, из которого мы хотим получить информацию, исходя из условия даты, в данном случае «открытого» столбца.