Python 如何在数据帧中平均前瞻性数据
我有一个带有值的df:例如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
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个未来值。这有意义吗?