以向量化方式将CustomBusinessHour添加到DateTimeIndex

时间:2019-06-26 10:06:09

标签: pandas numpy optimization time-series vectorization

假设我有一个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:非向量化DateOffset应用于系列   或DatetimeIndex

如何将custom_days转换为numpy数组,以向量化的方式将其添加到idxs中,以消除此警告?

0 个答案:

没有答案