Python Pandas – 返回给定BusinessDay偏移对象应用的频率名称
在Pandas中,BusinessDay是一个偏移对象,表示只计算工作日的时间差。通常,我们会将这些时间差用在索引和列上,以便按工作日移动日期。
当我们应用BusinessDay偏移对象到时间序列上时,我们需要知道应该以怎样的频率来处理时间序列。本文将介绍如何查看BusinessDay偏移对象的频率名称。
freq属性
BusinessDay对象有一个freq属性,它可以返回给定偏移对象应用的频率名称。示例如下:
import pandas as pd
from pandas.tseries.offsets import BusinessDay
bd = BusinessDay()
print(bd.freq)
输出:
<BusinessDay>
查看可用的频率名称
如果我们想查看可用的频率名称,可以通过pandas.tseries.offsets模块中的dateutil程序包来完成。下面是一个示例:
from dateutil import rrule
for freq in rrule.MINUTELY, rrule.HOURLY, rrule.DAILY, rrule.WEEKLY, rrule.MONTHLY, rrule.YEARLY:
offset = pd.tseries.offsets.DateOffset(freq=freq)
if isinstance(offset, pd.tseries.offsets.CDay):
continue
bday = pd.tseries.offsets.BusinessDay(offset=offset)
print(bday, bday.freqstr)
输出:
<BusinessDay> B
<BusinessDay> BH
<BusinessDay> CBM
<BusinessDay> C
<BusinessDay> CBMS
<BusinessDay> BM
<BusinessDay> SM
<BusinessDay> W-MON,TUE,WED,THU,FRI
<BusinessDay> WOM-1MON,WOM-2MON,WOM-3MON,WOM-4MON
<BusinessDay> WOM-1TUE,WOM-2TUE,WOM-3TUE,WOM-4TUE,WOM-5TUE
<BusinessDay> WOM-1WED,WOM-2WED,WOM-3WED,WOM-4WED
<BusinessDay> WOM-1THU,WOM-2THU,WOM-3THU,WOM-4THU
<BusinessDay> WOM-1FRI,WOM-2FRI,WOM-3FRI,WOM-4FRI
<BusinessDay> WOM-1SAT,WOM-2SAT,WOM-3SAT,WOM-4SAT
<BusinessDay> WOM-1SUN,WOM-2SUN,WOM-3SUN,WOM-4SUN
<BusinessDay> Q-JAN,FEB,MAR
<BusinessDay> Q-FEB,MAR,APR
<BusinessDay> Q-MAR,APR,MAY
<BusinessDay> Q-APR,MAY,JUN
<BusinessDay> Q-MAY,JUN,JUL
<BusinessDay> Q-JUN,JUL,AUG
<BusinessDay> Q-JUL,AUG,SEP
<BusinessDay> Q-AUG,SEP,OCT
<BusinessDay> Q-SEP,OCT,NOV
<BusinessDay> Q-OCT,NOV,DEC
<BusinessDay> Q-NOV,DEC,JAN
我们可以看到,BusinessDay对象支持许多可用的频率名称。
结论
在Pandas中,我们可以使用BusinessDay对象来计算只计算工作日的时间差。我们可以使用freq属性来返回给定偏移对象应用的频率名称,也可以使用dateutil程序包来查看可用的频率名称。在日常应用中,这些知识点都是非常有用的。
极客笔记