Как мне получить объект pandas.offsets с заданной строкой смещения
Предположим, у меня есть строка смещения 'BM'
или же '7W'
Я знаю ответ на 'BM'
является pd.offsets.BMonthEnd()
за '7W'
является pd.offsets.Week(7)
Есть ли общее решение, в котором я могу передать строку и получить объект смещения?
1 ответ
Решение
Это выглядит как pandas.tseries.frequencies.to_offset
это то, что используется внутри для преобразования из смещенных строк в DateOffset
объект:
from pandas.tseries.frequencies import to_offset
freq = to_offset('7W')
Вы также можете получить его более хакерским способом без какого-либо импорта, взяв freq
атрибут тривиального DateTimeIndex
:
freq = pd.date_range('2016-03-14', periods=0, freq='7W').freq
Используя любой метод:
print(freq)
<7 * Weeks: weekday=6>
print(type(freq))
<class 'pandas.tseries.offsets.Week'>