Python 使用同一表中的数据填充pandas表的有效方法
请看下表,我会尽力解释那里发生了什么Python 使用同一表中的数据填充pandas表的有效方法,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,请看下表,我会尽力解释那里发生了什么 A AVG(A) COEF A PREDICTION 1 7.711311e+06 NaN NaN NaN 2 7.954800e+06 NaN NaN NaN 3 7.936405e+06 NaN
A AVG(A) COEF A PREDICTION
1 7.711311e+06 NaN NaN NaN
2 7.954800e+06 NaN NaN NaN
3 7.936405e+06 NaN NaN NaN
4 7.943156e+06 NaN NaN NaN
5 8.058328e+06 NaN NaN NaN
6 8.262795e+06 NaN NaN NaN
7 8.571035e+06 NaN NaN NaN
8 8.594560e+06 NaN NaN NaN
9 8.633982e+06 NaN NaN NaN
10 8.449065e+06 NaN NaN NaN
11 8.471940e+06 NaN NaN NaN
12 8.498411e+06 NaN NaN NaN
13 8.938666e+06 NaN NaN NaN
14 9.118592e+06 NaN NaN NaN
15 9.148847e+06 NaN NaN NaN
16 8.894800e+06 NaN NaN NaN
17 8.981288e+06 8.480469e+06 1.020306 NaN
18 9.054566e+06 8.559484e+06 1.021430 NaN
19 9.126747e+06 8.628422e+06 1.016544 NaN
20 9.209076e+06 8.703285e+06 0.959278 NaN
21 9.229077e+06 8.778928e+06 0.977292 NaN
22 9.103907e+06 8.840432e+06 0.988755 9.019947e+06
- a) 列
,我们有兴趣预测下一个aa
- (b)
是A的滚动平均值(窗口=17)AVG(A)
- c)
列为 预先计算并帮助我们预测COEF
- d)
列的计算如下:预测
df['A PREDICTION']=df['AVG(A)]*df['COEF'].shift(5)
我知道我的A PREDICTION
列非常精确,所以我想继续我的表,再增加5行(因为我还有5个系数)。为了做到这一点,我需要继续A
列,但是我没有更多的数据,所以我将使用我的预测。即,下一行应按如下方式开始:
A AVG(A) COEF A PREDICTION
1 7.711311e+06 NaN NaN NaN
2 7.954800e+06 NaN NaN NaN
3 7.936405e+06 NaN NaN NaN
4 7.943156e+06 NaN NaN NaN
5 8.058328e+06 NaN NaN NaN
6 8.262795e+06 NaN NaN NaN
7 8.571035e+06 NaN NaN NaN
8 8.594560e+06 NaN NaN NaN
9 8.633982e+06 NaN NaN NaN
10 8.449065e+06 NaN NaN NaN
11 8.471940e+06 NaN NaN NaN
12 8.498411e+06 NaN NaN NaN
13 8.938666e+06 NaN NaN NaN
14 9.118592e+06 NaN NaN NaN
15 9.148847e+06 NaN NaN NaN
16 8.894800e+06 NaN NaN NaN
17 8.981288e+06 8.480469e+06 1.020306 NaN
18 9.054566e+06 8.559484e+06 1.021430 NaN
19 9.126747e+06 8.628422e+06 1.016544 NaN
20 9.209076e+06 8.703285e+06 0.959278 NaN
21 9.229077e+06 8.778928e+06 0.977292 NaN
22 9.103907e+06 8.840432e+06 0.988755 9.019947e+06
23 9.019947e+06
之后,我将计算AVG(A)
并将其乘以1.021430
得到第23行的A预测
,然后在第24行使用该A预测
后,计算下一个AVG(A)
并将其乘以1.016544
,得到下一个A预测
等
有没有一种有效的方法来做这样的事情?那么您需要for loop:-)我如何在df中使用它?