我有一个(每日)熊猫timeSeries,我需要使用特定工作日的第n次出现作为选择日期的规则,过滤到每月一次
到目前为止,我的想法是最好的方法是首先列出我感兴趣的所有日期的列表或系列,然后询问这些日期的时间序列?
但这仍然留下了我如何列出例如在两个日期之间发生的所有“每月第二个星期二”?
解决方法:
让我们以2014年9月和10月为例:
from datetime import datetime
import pandas as pd
start = datetime(2014, 9, 1)
end = datetime(2014, 10, 30)
d = pd.date_range(start, end) # use bdate_range for business days
现在,您可以构建一个仅包含您感兴趣的日期的遮罩:
>>> mask = (d.weekday == 1) & (7 < d.day) & (d.day < 15)
>>> d[mask]
<class 'pandas.tseries.index.DatetimeIndex'>
[2014-09-09, 2014-10-14]
Length: 2, Freq: None, Timezone: None