【发布时间】:2019-02-26 14:29:30
【问题描述】:
我有一个这样的 df:
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
np.random.seed(100)
data = np.random.rand(200,3)
df = pd.DataFrame(data)
df.columns = ['a', 'b', 'y']
df['y_roll'] = df['y'].rolling(10).mean()
df['y_roll_predicted'] = df['y_roll'].apply(lambda x: x + np.random.rand()/20)
在上面的代码中,我创建了一个随机的熊猫df。然后用rolling(10).mean()在df['y']上执行moving average并保存为df['y_roll']。
因为我的模型无法预测df['y'] 的锐利边缘,我决定对其进行rolling.mean() 操作并尝试预测滚动数据df['y_roll']。现在我的模型能够预测df['y_roll'],它的名字是:df['y_roll_predicted']。
如何对这个预测列进行反向滚动操作,以便将其与df['y'] 值进行比较?
【问题讨论】:
-
这不在stackoverflow上,但有一个很好的答案here,其中包括一个python/numpy解决方案
-
我投票结束这个问题,因为它在stats.stackexchange.com/questions/67907/…得到了回答
-
我认为我提出的答案是不同的,更多地关注软件实现而不是理解它的数学方式。
标签: python pandas moving-average