python的rolling_mean()函数

5.1 rolling_mean函数解释

复制代码
pandas.rolling_mean(arg, 
					window, 
					min_periods=None, 
					freq=None, 
					center=False, 
					how=None, **kwargs)

rolling_mean函数表示通过移动窗口求平均值,即用当前值和前window个数值取平均数,得到新的数值。

复制代码
import pandas as pd
 
data = [3, 60, 83, 100, 52, 36]#源数据
data = pd.DataFrame(data).sort_values(0)  
w2 = pd.rolling_mean(data, 2)#设置移动窗口为2,即用当前值和前2个数值取平均数
w3 = pd.rolling_mean(data, 3)#用当前值和前3个数值取平均数
print("源数据:\n", data)
print("移动窗口数为2:\n", w2)
print("移动窗口数为3:\n", w3)

结果:
源数据:
      0
0    3
5   36
4   52
1   60
2   83
3  100
移动窗口数为2:
       0
0   NaN
5  19.5
4  44.0
1  56.0
2  71.5
3  91.5
移动窗口数为3:
            0
0        NaN
5        NaN
4  30.333333
1  49.333333
2  65.000000
3  81.000000

rolling的一系列函数中,除了rolling_mean(移动窗口的均值),还有rolling_median(移动窗口的中位数)、rolling_var (移动窗口的方差)、rolling_std (移动窗口的标准差)、rolling_cov (移动窗口的协方差)、rolling_sum (移动窗口的和)、rolling_min (移动窗口的最小值)、rolling_max (移动窗口的最大值)、rolling_corr (移动窗口的相关系数)、rolling_count (计算各个窗口中非NA观测值的数量)。最常用的还是rolling_mean了,作用类似时间序列中提到的移动平滑。

相关推荐
Wang's Blog4 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain5 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克6055 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_6785 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋5 小时前
Rust 编程其实很简单
开发语言·rust
MOONICK7 小时前
QT元数据
开发语言·qt
D e re k ZH8 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
子兮曰8 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
强尼银手9 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
灿飞屋9 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓