Как отставать рабочие месяцы от календарных дней в пандах - PullRequest
0 голосов
/ 09 декабря 2018

Я бы хотел отложить данные временных рядов по рабочим месяцам.Например, если календарный день выпадает на 7-12-2018, задержка в 1 месяц должна составлять 26-10-2018, 2,3 месяца и т. Д. *

import pandas as pd
df = pd.date_range('2018-12-07','2018-12-10',freq = 'D')
df.shift(-1 , freq = 'BM')

Ожидаемый результат

2018-10-26
2018-10-25
2018-10-24

1 Ответ

0 голосов
/ 09 декабря 2018

Модуль временных рядов Pandas имеет полезную функцию рабочего дня под названием BDay, которая может помочь с этим.

from pandas.tseries.offsets import BDay
example_day = pd.datetime(2018, 12, 7) # 12/7/2018
shifted_day = example_day - BDay(31) # Shifted by 31 business days

shifted_day # This is now a pandas TimeStamp object
# Timestamp('2018-10-25 00:00:00')

# You can also apply this shift to a Pandas Date Range
df = pd.date_range('2018-12-07','2018-12-10',freq = 'D')
result = df - BDay(31) # Keep in mind that 12/8 -> 12/10 will share the same shift day due to the weekend between them
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...