Я хочу понять нарезку с помощью временных рядов в Pandas, и я смотрю на возможность объединения в логическом выражении (объединение и, или не операнды) условий, включающих даты.
Так что это воспроизводимый пример:
HAO_10
Date Price
2018-01-02 30.240000
2018-01-03 30.629999
2018-01-04 30.860001
2018-01-05 31.010000
2018-01-08 31.389999
2018-01-09 31.309999
2018-01-10 31.400000
2018-01-11 31.580000
2018-01-12 31.680000
2018-01-16 31.200001
HAO_10.iloc[((HAO_10.index < datetime.strptime('2018-01-04', '%Y-%m-%d')) |
((HAO_10.index > datetime.strptime('2018-01-08', '%Y-%m-%d')) &
(HAO_10.index != datetime.strptime('2018-01-12', '%Y-%m-%d')))), ]
Это попытка вырезать значения, соответствующие датам до 2018-01-04 и после 2018-01-08, но не значение, соответствующее дате 2018-01-12.
Это работает.
Есть ли более элегантный способ сделать то же самое?