Python 如何在数据帧中平均前瞻性数据

Python 如何在数据帧中平均前瞻性数据,python,pandas,Python,Pandas,我有一个带有值的df:例如 jpy3m jpy1w timestamp 2019-01-09 00:00:00 -45 -25 2019-01-08 00:00:00 -48 -31 2019-01-07 00:00:00 -51 -27 2019-01-04 00:00:00 -46 -25 ... 2016-01-06

我有一个带有值的df:例如

                         jpy3m      jpy1w
timestamp    

2019-01-09 00:00:00      -45         -25
2019-01-08 00:00:00      -48         -31
2019-01-07 00:00:00      -51         -27
2019-01-04 00:00:00      -46         -25
...
2016-01-06 00:00:00      -61         -26
2016-01-05 00:00:00      -62         -22
2016-01-04 00:00:00      -57         -21
该指数从今天开始到2016年初。仅限营业日

我希望处理但无法处理的是,在可能的情况下,每天取3M日元的值,并取其平均值(当天的jpy1w值,以及未来11周的jpy1w值)

例如考虑2016-01-04/P> 取jpy3m的值=-57 取2016-01-042016-01-11(1w后)、2016-01-19(2w后(18日不是一个好的营业日)、2016-01-25(3w后)等的1w日元平均值,直到2016-03-25(11w后) 假设平均值为-25

然后取-25-(-57)=+32,因此+32是1月4日的值

这将出现在一个新的列中,df['result']

并重复1月16日第5天,以此类推

我知道最近3个月不会有结果,将会是np.nan

这可能吗


谢谢

我假设如果这一天不是一个好的工作日,那么该记录不在您的数据集中。如果它在您的数据集中,那么您可以删除这些记录

按时间降序排列记录

我们用第7、14、…、77个值平均当前值

avgs = df['jpy1w'].copy()

for i in range(11):
    avgs = df['jpy1w'].shift(7*(i+1)) + avgs

avgs = avgs/12
df['result'] = df['jpy3m'] + avgs

你能提供你的数据集吗?你怎么知道哪一个是“好”的工作日?谢谢@Nishant。我实际上只需要1w和2w等的平均日期。因此,我希望今天的平均值加上11个未来值。这有意义吗?