Предположим, у меня есть DateTimeIndex
, к которому я хочу добавить CustomBusinessHour
.Мой CustomBusinessHour
сохраняет индексы такими же, которые попадают между 0900 и 2000 в тот же день, он перемещает индексы, которые попадают между 0000 и 0900 в 0900 в тот же день, и перемещает индексы после 2000 по 0900 на следующий рабочий день;с учетом некоторых выходных.
Следующий код работает так, как я намереваюсь
import pandas as pd
import numpy as np
from pandas.tseries.offsets import CustomBusinessHour
idxs = pd.DatetimeIndex(['2018-08-14 21:54:00', '2018-08-28 21:48:00',
'2018-10-02 23:13:00', '2019-06-26 10:59:00'])
custom_days = CustomBusinessHour(
holidays=[pd.Timestamp("2019/01/01"),
pd.Timestamp("2018/12/25"),
pd.Timestamp("2018/12/26")],
weekmask='Mon Tue Wed Thu Fri',
start="09:00", end="20:00")
moved_idx = idxs + 0*custom_days
Однако я получаю следующее предупреждение
PerformanceWarning: Non-vectorized DateOffsetприменяется к Series или DatetimeIndex
Как преобразовать custom_days
в массив numpy
, чтобы добавить его к idxs
векторизованным способом, чтобы удалить это предупреждение?