考虑我有一个熊猫Series与DatetimeIndex日常的频率.我想Series用任意频率和任意的回顾窗口迭代它.例如:使用1y的回顾窗口每半年迭代一次.
这样的事情是理想的:
for df_year in df.timegroup(freq='6m', lookback='1y'):
# df_year will span one year of daily prices and be generated every 6 months
Run Code Online (Sandbox Code Playgroud)
我知道,TimeGrouper但还没弄明白它怎么能做到这一点.无论如何,我可以手动编码,但希望有一个聪明pandas的单行.
编辑:这有点接近:
pd.rolling_apply(df, 252, lambda s: s.sum(), freq=pd.datetools.BMonthEnd())
Run Code Online (Sandbox Code Playgroud)
这不太有效,因为它应用252*BMonthEnd()的回顾窗口,而我希望它是独立的,并且每个月末都有252 天的回顾窗口.