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

相关文章

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

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent

PyQt6 键盘事件处理的实现及实例代码

《PyQt6键盘事件处理的实现及实例代码》本文主要介绍了PyQt6键盘事件处理的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录一、键盘事件处理详解1、核心事件处理器2、事件对象 QKeyEvent3、修饰键处理(1)、修饰键类

Java 中 Optional 的用法及最佳实践

《Java中Optional的用法及最佳实践》在Java开发中,空指针异常(NullPointerException)是开发者最常遇到的问题之一,本篇文章将详细讲解Optional的用法、常用方... 目录前言1. 什么是 Optional?主要特性:2. Optional 的基本用法2.1 创建 Opti

Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧

《Python函数的基本用法、返回值特性、全局变量修改及异常处理技巧》本文将通过实际代码示例,深入讲解Python函数的基本用法、返回值特性、全局变量修改以及异常处理技巧,感兴趣的朋友跟随小编一起看看... 目录一、python函数定义与调用1.1 基本函数定义1.2 函数调用二、函数返回值详解2.1 有返

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF