Довольно простая проблема, которую я не могу понять.
Настройка
Учитывая datetime.date
или pandas.datetime
Я пытаюсь компенсировать некоторые даты, которые неизбежно будут преобразуется через pandas.to_datetime
в объект, который завершается ошибкой при использовании с numpy.busday_offset
, как показано в примере ниже.
import numpy as np
import pandas as pd
#Works fine
np.busday_offset(datetime.date(2020, 1, 1), 3)
# Fails
np.busday_offset(pd.to_datetime(datetime.date(2020, 1, 1)), 3)
# Fails
np.busday_offset(pd.to_datetime(datetime.date(2020, 1, 1)).to_numpy(), 3)
#Works fine
pd.bdate_range(start = datetime.date(2020, 1, 1),
end = datetime.date(2020, 4, 14),
freq = '20B')
# Fails
np.busday_offset(pd.bdate_range(start = datetime.date(2020, 1, 1),
end = datetime.date(2020, 4, 14),
freq = '20B'), 3)
Вопрос
Каким образом можно go от даты в формате datetime64[ns]
(созданной pandas.to_datetime
или pandas.bdate_date
) до datetime64[D]
(которая распознается на numpy.busday_offset
?