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

  统计/机器学习 数据预处理 Python    浏览次数: 1400
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


  相关主题

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

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

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

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

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

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

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

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

sklearn OneHotEncoder string类型报错   1回答

怎么对pandas dataframe的列求众数   2回答

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

对pandas.DataFrame进行groupby结果中index的问题   2回答



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

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

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

我们谢绝答非所问。

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

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