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

相关文章

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Springboot中Jackson用法详解

《Springboot中Jackson用法详解》Springboot自带默认json解析Jackson,可以在不引入其他json解析包情况下,解析json字段,下面我们就来聊聊Springboot中J... 目录前言Jackson用法将对象解析为json字符串将json解析为对象将json文件转换为json

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa