我正在处理一个数据集,其中列的值取决于其正上方行(同一列(的值。由于此计算需要一定数量的数据点才能开始,因此我无法从索引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处的值,并继续到数据帧的长度