怎么求一个数组的移动平均数

  统计/机器学习 数据预处理 Python    浏览次数: 1590
2

在Python中,怎么求一个list或者pandas.Series一列数据的移动平均数?有现成可以直接调用的函数吗?

 

雕牌   2017-02-25 13:47



   1个回答 
10

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的意思是每次取三个数的平均,移动窗口的长度。


高代兄   2017-02-27 03:49

对,这个是最新的,因为之后版本的pandas不再提倡使用rolling_mean了,都改成rolling(window=k).mean() - batmanX   2017-02-27 11:27
many thanks! - 雕牌   2017-02-28 11:52


  相关主题

让DataFrame中的行按照某一列元素的绝对值从大到小排列   1回答

python的dataframe如何重新排列行或者列   1回答

在数据预处理阶段,特征的标准化有哪些方法?   1回答

dummy variable是n个还是n-1个   2回答

数据一样,y却不一样的样本该怎么处理?   2回答

对于数值型变量模型怎么知道是连续变量还是离散变量?   2回答

对进行回归分析之前,如何处理不同类型的变量?   1回答

线性回归的变量归一化的问题   1回答

训练集中重复的样本需要被删除吗?   3回答

sklearn OneHotEncoder string类型报错   1回答

怎么把collections.Counter的计数结果转为pandas的DataFrame   2回答

pandas怎么读入tsv格式的数据   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!