所以,这对我来说是一个相当新的话题,我还不太理解。我想在数据集中创建一个新列,该列包含体积列的移动平均值。窗口大小为5,并且根据行x-2、x-1、x、x+1和x+2来计算行x的移动平均值。对于x=1和x=2,分别使用三行和四行计算移动平均值
我做到了。
df['Volume_moving'] = df.iloc[:,5].rolling(window=5).mean()
df
Date Open High Low Close Volume Adj Close Volume_moving
0 2012-10-15 632.35 635.13 623.85 634.76 15446500 631.87 NaN
1 2012-10-16 635.37 650.30 631.00 649.79 19634700 646.84 NaN
2 2012-10-17 648.87 652.79 644.00 644.61 13894200 641.68 NaN
3 2012-10-18 639.59 642.06 630.00 632.64 17022300 629.76 NaN
4 2012-10-19 631.05 631.77 609.62 609.84 26574500 607.07 18514440.0
... ... ... ... ... ... ... ... ...
85 2013-01-08 529.21 531.89 521.25 525.31 16382400 525.31 17504860.0
86 2013-01-09 522.50 525.01 515.99 517.10 14557300 517.10 16412620.0
87 2013-01-10 528.55 528.72 515.52 523.51 21469500 523.51 18185340.0
88 2013-01-11 521.00 525.32 519.02 520.30 12518100 520.30 16443720.0
91 2013-01-14 502.68 507.50 498.51 501.75 26179000 501.75 18221260.0
然而,我认为结果并不准确,因为我用不同的数据帧进行了尝试,得到了完全相同的结果。
有人能帮我吗?
试试这个:
df['Volume_moving'] = df['Volume'].rolling(window=5).mean()