Suppose I have an offset string 'BM'
or '7W'
I know the answer for 'BM'
is pd.offsets.BMonthEnd()
for '7W'
is pd.offsets.Week(7)
Is there a generic solution in which I can pass a string and get the offset object?
It looks like pandas.tseries.frequencies.to_offset
is what's used internally to convert from offset strings to a DateOffset
object:
from pandas.tseries.frequencies import to_offset
freq = to_offset('7W')
You can also get it in more of a hackier way without any imports by taking the freq
attribute of a trivial DateTimeIndex
:
freq = pd.date_range('2016-03-14', periods=0, freq='7W').freq
Using either method:
print(freq)
<7 * Weeks: weekday=6>
print(type(freq))
<class 'pandas.tseries.offsets.Week'>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With