我提出的问题与以下问题不同:
问题1:如何在Pandas中获取一个月的周数 问题2:如何获取一个月的周数
上述问题涉及假设一周七天。它试图计算有多少7天的周。我的数据由(工作日)每日价格组成,因为市场关闭了节假日,有时一周中会缺少某些天。
我的尝试是向前看,这并不是最优解:
def is_third_friday(s):
d = datetime.datetime.strptime(s, '%Y-%m-%d')
return d.weekday() == 5 and 15 <= d.day <= 21
dow = deepcopy(data['Close'] * np.nan).to_frame()
dow.columns = ['OpexFriday']
dow['next_date'] = pd.Series([str(i.date() + datetime.timedelta(days=1)) for i in dow.index]).values
dow['OpexFriday'] = pd.Series([is_third_friday(str(i)) for i in dow['next_date']]).values
dow['OpexWeek'] = (dow['OpexFriday'] * 1).replace(0, np.nan).fillna(method='bfill', limit=4).replace(np.nan, 0) == True
我不知道如何提供一些样本数据
,但是如果您访问“https://aroussi.com/post/python-yahoo-finance”页面并使用作者的yfinance包,您将能够获取一些价格数据进行使用。
上面的函数将找到该月的第三个星期(全部为真)。此外,还会设置该星期的星期五。
如果您对问题有任何疑问或者发现它是重复的,请告诉我。我已经搜索了一段时间来寻找解决方案。
OPEXweek
而不是OPEXFriday
吗?你需要OPEXFriday
吗? - Quang Hoang