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了,作用类似时间序列中提到的移动平滑。

相关推荐
gis开发之家18 分钟前
《Vue3 从入门到大神40篇》Vue3 源码详解(十):diff 算法全解析 —— 为什么 Vue3 比 Vue2 更快?
javascript·算法·typescript·前端框架·vue3·vue3源码
BerrySen17824 分钟前
迈向 Next-Gen Java:企业级高并发架构演进与大模型 Agent 落地深度实战
java·开发语言·架构
Nebula_g1 小时前
Java实现本地Socket通信(三)
java·开发语言·学习·socket·可视化
一水1 小时前
java运行排错,新码旧jar
java·开发语言·jar
海带紫菜菠萝汤1 小时前
WebCodecs API 实战:浏览器原生视频编解码的原理与性能测试
前端·javascript·音视频·视频编解码
Python+992 小时前
Java 编程语言入门指南
java·开发语言
Wang's Blog2 小时前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
程序喵大人2 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl
完美火龙篇 四月的友2 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
开发语言·php
冻柠檬飞冰走茶3 小时前
PTA基础编程题目集 7-15 计算圆周率(C语言实现)
c语言·开发语言·数据结构·算法