Python 熊猫移动平均数的计算
所以,这对我来说是一个相当新的话题,我还不太明白。我想在数据集中创建一个新的列,其中包含体积列的移动平均值。窗口大小为5,第x行的移动平均值由第x-2、x-1、x、x+1和x+2行计算得出。对于x=1和x=2,分别使用三行和四行计算移动平均值 是我干的Python 熊猫移动平均数的计算,python,pandas,Python,Pandas,所以,这对我来说是一个相当新的话题,我还不太明白。我想在数据集中创建一个新的列,其中包含体积列的移动平均值。窗口大小为5,第x行的移动平均值由第x-2、x-1、x、x+1和x+2行计算得出。对于x=1和x=2,分别使用三行和四行计算移动平均值 是我干的 df['Volume_moving'] = df.iloc[:,5].rolling(window=5).mean() df Date Open High Low Close Volume Adj Close Vol
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()
谢谢你的评论,我试过了,答案是一样的。也许我做错了什么?我测试了我的答案:
df=pd.DataFrame({'Volume':[1,2,3,4,5,6,7,8,9,10]}
,它工作正常。但是等等。。。你确定你的移动平均线计算不正确吗?第四行的这个值18514440.0
正好是15446500
,19634700
,13894200
,17022300
和26574500
(第0行、第1行、第2行和第3行的卷数)的平均值。仔细检查后,我认为它是准确的。很抱歉打扰你,伙计。我只是想确保我写的是正确的代码和最准确的结果。再次感谢你,伙计。