我需要将DateTimeIndex索引通过CustomBusinessDay(交易日偏移量)进行偏移,如下所示:
import pandas_market_calendars as mcal
TCal = mcal.get_calendar('NYSE')
from pandas.tseries.offsets import CustomBusinessDay
TDay = CustomBusinessDay(calendar=TCal,holidays = TCal.holidays().holidays)
将此偏移量应用于MultiIndex的“日期”级别:
df.index.set_levels(df.index.levels[0] + TDay,level=0)
产生未应用矢量化的DateOffset警告:
python3.8/site-packages/pandas/core/arrays/datetimes.py:692: PerformanceWarning: Non-vectorized DateOffset being applied to Series or DatetimeIndex
是否可以对我的CustomBusinessDay进行矢量化处理,或产生对矢量化的类似日期偏移量进行处理?谢谢!
更新:以下代码示例了我正在使用的数据框:
import numpy as np
import pandas as pd
dates = list(map(pd.to_datetime,['2020-07-16','2020-07-17']))
strings = ['A','B','C','D']
df = pd.DataFrame(
index=pd.MultiIndex.from_product([dates,strings],names=['date','string']),data=np.random.uniform(size=(len(dates) * len(strings),2))
)