如何将 pandas 日期时间滚动到前一个工作日 5 分钟

how to roll pandas datetime 5 minute into the previous business day

考虑以下 pandas 数据帧 df:

datestimes,price 
2016-10-28 23:55:00,100.0
2016-10-31 00:00:00,122.4

时间回拨 5 分钟后:

df.datestimes - pd.Timedelta(minutes=5)

输出:

datestimes,price
2016-10-28 23:50:00,100.0
2016-10-30 23:55:00,122.4

2016-10-30 不是工作日,2016-10-28 是,我如何将它移动到 2016-10-28 23:55:00,如下所示?

datestimes,price
2016-10-28 23:50:00,100.0
2016-10-28 23:55:00,122.4

典型的答案是过去 1 个工作日 + 未来 1 天:

df.datestimes  +pd.datetools.Day(1) - pd.datetools.BDay(1)