在Python中,怎么求一个list或者pandas.Series一列数据的移动平均数?有现成可以直接调用的函数吗?
1个回答
pandas模块里提供现成的求移动平均值的函数。如果是个list,需要先转换为pandas.Series。如果已经是pandas.Sereis类型的数据了,可以直接调用。
import pandas as pd
s = [1,2,3,5,6,10,12,14,12,30]
moving_mean = pd.Series(s).rolling(window=3).mean()
如果s已经是个pandas.Series类型的了,就直接调用
moving_mean = pd.Series(s).rolling(window=3).mean()
上面的window=3的意思是每次取三个数的平均,移动窗口的长度。
对,这个是最新的,因为之后版本的pandas不再提倡使用rolling_mean了,都改成rolling(window=k).mean()
-
batmanX
2017-02-27 11:27
many thanks!
-
雕牌
2017-02-28 11:52