如何开始计算特定索引处的行值?

How do I begin calculating row values at a specific index?

我正在处理一个数据集,其中列值取决于其正上方的行(同一列)的值。因为此计算需要一定数量的数据点才能开始,所以我不能从索引 0 开始。这是已经计算出初始值的数据集示例(col Net Change Avg):

     Close  Daily Returns  Net Change Avg
0   353.74           0.29             NaN
1   354.18           0.44             NaN
2   352.16          -2.02             NaN
3   354.57           2.41             NaN
4   354.08          -0.49             NaN
5   353.92          -0.16             NaN
6   353.55          -0.37             NaN
7   354.87           1.32             NaN
8   354.14          -0.73             NaN
9   351.44          -2.70             NaN
10  350.73          -0.71             NaN
11  349.31          -1.42             NaN
12  346.70          -2.61             NaN
13  349.30           2.60             NaN
14  346.47          -2.83             NaN
15  348.82           2.35       -0.382857
16  348.18          -0.64             NaN
17  345.64          -2.54             NaN
18  339.40          -6.24             NaN
19  339.11          -0.29             NaN

我需要使用索引 15 处的净变化平均值计算一个值并将其存储在索引 16 中,然后使用索引 16 中存储的值计算一个值并存储在索引 17 中,依此类推。这是我尝试过的方法,但它似乎只填充索引 16 并且不会向下传播。

dia.loc[16:, 'Net Change Avg'] = dia['Net Change Avg'].shift(1) + 1

我是新来的,请原谅我犯的任何格式或约定错误。

for i in range(16,len(df)):
    df.loc[i,'Net Change Avg']=df.loc[i-1,'Net Change Avg']  

不清楚您要在索引 16 处插入什么值。我只是 运行 一个循环,它将复制索引 15 处的值并继续直到数据帧的长度