rolling的用法实例

2023-10-13 12:59
文章标签 用法 实例 rolling

本文主要是介绍rolling的用法实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在数据分析的过程中,经常用到对计算移动均值,使用rolling可以轻松实现这个功能~

rolling函数是一个用于时间序列分析的函数;

一、参数解析

首先,让我们来了解一下rolling的各个参数吧

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None, step=None, method='single')

参数:
window :移动窗口的大小
min_periods :窗口中需要的最小观测值数量
center :将标签设置在窗口的中心。
win_type :提供一个窗口类型。
on : str, optional
axis:int或str,默认为0
closed :使区间在 “右”、”左”、”两者 “或 “两者 “的端点上关闭。

返回 :一个窗口或滚动的子类,用于特定的操作。

二、用法实例:

d1 = data.groupby(['日期'])['商品金额'].sum().reset_index(drop = False)
d1['m2_商品金额'] = d1['商品金额'].rolling(2).mean()
d1['m3_商品金额'] = d1['商品金额'].rolling(3).mean()d1

结果显示:

 使用center参数

d1['m3_c_商品金额'] = d1['商品金额'].rolling(3,center= True).mean()

 比较m3_商品金额、m3_c_商品金额的值,m3_商品金额的值从第三行开始部位NAN,而m3_c_商品金额 的值从第二行开始不为NAN,相当于将整体的数据向上平移了,计算值位于中间位置。

综合实例

计算移动窗口观测值之和:

d1['sum_5'] =d1['商品金额'].rolling(5).sum()d1

计算移动窗口最小值:

d1['min_3'] =d1['商品金额'].rolling(3).min()
d1

 计算移动窗口均值累计、移动观测值之和累计:

d1['sum_cum_3'] =d1['商品金额'].rolling(3).sum().cumsum()
d1['m_cum_3'] =d1['商品金额'].rolling(3).mean().cumsum()
d1

计算指定数据列   累加值

 三、与rolling()配合使用的常用函数包括:

count:返回移动窗口中非NA观测值的数量。

max:返回移动窗口的最小值。

min:返回移动窗口的最大值。

diff:返回观测值的第一个离散差。

mean:返回移动窗口的均值。

median:返回移动窗口的中位数。

round:返回保留指定位数的观测值。

sum:返回移动窗口中观测值的总和。

std:返回移动窗口的标准差。

var:返回移动窗口的方差。

corr:移动窗口的相关系数。

abs:返回观测值的绝对值。

cov:计算数据样本的协方差矩阵。

skew:样本值的偏度(三阶矩),即数据分布的对称性。

kurt:样本值的峰度(四阶矩),即数据在均值附近分布的集中度。

describe:给出样本的基本描述(基本统计量如均值、标准差等)。

apply:对移动窗口中的值进行函数计算。

agg:在指定的轴上实现一个或多个操作。

cumsum:依次给出前1、2、… 、n个数的和。

cumprod:依次给出前1、2、… 、n个数的积。

cummax:依次给出前1、2、… 、n个数的最大值。

cummin:依次给出前1、2、… 、n个数的最小值。

常用参数转载于:https://blog.csdn.net/halps/article/details/127281333

这篇关于rolling的用法实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/203402

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

Java序列化之serialVersionUID的用法解读

《Java序列化之serialVersionUID的用法解读》Java序列化之serialVersionUID:本文介绍了Java对象的序列化和反序列化过程,强调了serialVersionUID的作... 目录JavChina编程a序列化之serialVersionUID什么是序列化为什么要序列化serialV

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

C++中的解释器模式实例详解

《C++中的解释器模式实例详解》这篇文章总结了C++标准库中的算法分类,还介绍了sort和stable_sort的区别,以及remove和erase的结合使用,结合实例代码给大家介绍的非常详细,感兴趣... 目录1、非修改序列算法1.1 find 和 find_if1.2 count 和 count_if1

MySQL中如何求平均值常见实例(AVG函数详解)

《MySQL中如何求平均值常见实例(AVG函数详解)》MySQLavg()是一个聚合函数,用于返回各种记录中表达式的平均值,:本文主要介绍MySQL中用AVG函数如何求平均值的相关资料,文中通过代... 目录前言一、基本语法二、示例讲解1. 计算全表平均分2. 计算某门课程的平均分(例如:Math)三、结合

MySQL 中的 JSON_CONTAIN用法示例详解

《MySQL中的JSON_CONTAIN用法示例详解》JSON_CONTAINS函数用于检查一个JSON文档中是否包含另一个JSON文档,这篇文章给大家介绍JSON_CONTAINS的用法、语法、... 目录深入了解 mysql 中的 jsON_CONTAINS1. JSON_CONTAINS 函数的概述2

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

Java8 Collectors.toMap() 的两种用法

《Java8Collectors.toMap()的两种用法》Collectors.toMap():JDK8中提供,用于将Stream流转换为Map,本文给大家介绍Java8Collector... 目录一、简单介绍用法1:根据某一属性,对对象的实例或属性做映射用法2:根据某一属性,对对象集合进行去重二、Du