Я не знаком с этим классом, но, посмотрев на исходный код, кажется, довольно просто добиться этого. Имейте в виду, что он выбирает ближайший рабочий день следующий , означающий, что суббота превращается в понедельник, а не в пятницу. Если сделать ваш индекс неуникальным, то снизит производительность в вашем DataFrame, поэтому я предлагаю назначить эти значения новому столбцу.
Единственное предварительное условие - вы должны убедиться, что ваш индекс любой из этих трех типов, datetime , timedelta, pd.tseries.offsets.Tick .
offset = pd.tseries.offsets.CustomBusinessDay(n=0)
df.assign(
closest_business_day=df.index.to_series().apply(offset)
)
V1 V2 V3 V4 V5 closest_business_day
2008-01-12 4 15 11 7 1 2008-01-14
2008-01-13 5 2 8 7 1 2008-01-14
2008-01-14 13 13 9 6 4 2008-01-14
2008-01-15 14 15 12 9 3 2008-01-15
2008-01-16 1 10 2 12 15 2008-01-16
2008-01-17 10 5 9 9 1 2008-01-17
2008-01-18 13 11 5 7 2 2008-01-18
2008-01-19 2 6 7 9 6 2008-01-21
2008-01-20 5 4 14 3 7 2008-01-21
2008-01-21 11 11 4 7 15 2008-01-21
2008-01-22 9 4 15 10 3 2008-01-22
2008-01-23 2 13 13 10 3 2008-01-23
2008-01-24 12 15 14 12 8 2008-01-24
2008-01-25 1 4 2 6 15 2008-01-25