在Python中为数据帧子设置月份的最后一个工作日
我有一个下面的数据框,并希望将该月最后一个工作日的数据框子集,以分离数据框 df=在Python中为数据帧子设置月份的最后一个工作日,python,pandas,date,finance,Python,Pandas,Date,Finance,我有一个下面的数据框,并希望将该月最后一个工作日的数据框子集,以分离数据框 df= 日期开盘高位低位收盘调整收盘量 0 2007-06-18 0.33979 0.33979 0.33979 0.33979 0.33979 1591888 1 2007-06-29 0.33074 0.33074 0.33074 0.33074 0.33074 88440 2 2007-06-20 0.33526 0.33526 0.33526 0.33526 0.33526 3538 3
日期开盘高位低位收盘调整收盘量
0 2007-06-18 0.33979 0.33979 0.33979 0.33979 0.33979 1591888
1 2007-06-29 0.33074 0.33074 0.33074 0.33074 0.33074 88440
2 2007-06-20 0.33526 0.33526 0.33526 0.33526 0.33526 3538
3 2007-06-21 0.32113 0.32113 0.32113 0.32113 0.32113 3550
4 2007-06-22 0.34713 0.34713 0.34713 0.34713 0.34713 670
df_输出=
日期开盘高位低位收盘调整收盘量
1 2007-06-29 0.33074 0.33074 0.33074 0.33074 0.33074 88440
我尝试了
df=pd.to_datetime(df['Date'],format='%Y%m%d')+pd.offsets.b monthend(1)
,但不起作用,我已经查找了,但没有找到正确的方法。有人能帮我解决这个问题吗 您可以这样做:
# in case Date is not in datetime format:
df['Date'] = pd.to_datetime(df['Date'])
df_output = df.loc[df.Date.isin(df.Date + pd.offsets.BMonthEnd(1))]
这将返回:
>>> df_output
Date Open High Low Close Adj Close Volume
1 2007-06-29 0.33074 0.33074 0.33074 0.33074 0.33074 88440
说明:
df.Date+pd.offsets.bmmonthend(1)
返回您有数据的每个月的最后一个工作日序列:
>>> df.Date + pd.offsets.BMonthEnd(1)
0 2007-06-29
1 2007-07-31
2 2007-06-29
3 2007-06-29
4 2007-06-29
然后,使用
loc
查找数据帧中实际日期
在该系列中的任何行(使用)这就是我要查找的。。你能解释一下发生了什么吗?是的