(八)Pandas窗口数据与数据读写 学习简要笔记 #Python #CDA学习打卡

一. 窗口数据(Window Functions)

Pandas提供了窗口函数(Window Functions)用于在数据上执行滑动窗口操作,可以对数据进行滚动计算、滑动统计等操作。需要注意的是,在使用窗口函数时,需要根据实际需求选择合适的窗口大小和窗口函数,并确保数据的顺序和窗口大小的一致性。本文主要介绍滚动计算函数,以下是一些常用操作和示例代码。

1)滚动计算函数简介

滚动计算(Rolling Calculation)是一种数据处理技术,它在时间序列数据或数据框中执行基于移动窗口的计算。为了提升数据的准确性,将某个点的取值扩大到包含这个点的一段区间,用区间来进行判断,这个区间就是窗口。移动窗口就是窗口向一端滑行,默认是从右往左,每次滑行并不是区间整块的滑行,而是一个单位一个单位的滑行。

滚动统计函数rolling()又叫移动窗口函数,此函数可以应用于一系列数据,指定参数window=n,并在其上调用适合的统计函数。在Pandas中,要使用rolling方法,首先需要创建一个rolling对象。rolling对象可以应用于数据框的列,它表示一个窗口,用于滚动计算。

rolling_obj = df['column_name'].rolling(window=window_size)

其中:

  • df['column_name'] 是数据框列的选择,表示我们要在哪个列上执行滚动计算。
  • window_size 是窗口的大小,用于定义滚动窗口的大小。

滑动统计函数表达方式为:

rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)

其中参数包括:

  • window:可选参数,表示时间窗的大小,注意有两种形式(int或offset)。如果使用int,则数值表示计算统计量的观测值的数量即向前几个数据,如果是offset类型,表示时间窗的大小。
  • min_periods:每个窗口最少包含的观测值数量,小于这个值的窗口结果为NaN,用于处理边界效应。值可以是int,默认None,offset情况下,默认为1。
  • center:把窗口的标签设置为居中。布尔型,默认False,居右
  • win_type:窗口的类型,如矩形窗口或指数加权窗口。截取窗的各种函数,字符串类型,默认为None.
  • on:可选参数,对于dataframe而言,指定要计算滚动窗口的列,值为列名。
  • axis:int、字符串,默认为0,即对列进行计算
  • closed:定义区间的开闭,支持int类型的window。对于offset类型默认是左开右闭,默认为right,可以根据情况指定为left、both等。

2)滚动计算函数常用方法

滚动计算函数常用方法包括:

  • rolling_count():计算各个窗口中非NA观测值的数量
  • rolling_sum():计算各个移动窗口中的元素之和(按列计算)
  • rolling_mean():计算各个移动窗口中元素的均值
  • rolling_median():计算各个移动窗口中元素的中位数
  • rolling_var():计算各个移动窗口中元素的方差
  • rolling_std():计算各个移动窗口中元素的标准差
  • rolling_min():计算各个移动窗口中元素的最小值
  • rolling_max():计算各个移动窗口中元素的最大值
  • rolling_corr():计算各个移动窗口中元素的相关系数
  • rolling_corr_pairwise():计算各个移动窗口中配对数据的相关系数
  • rolling_cov():计算各个移动窗口中元素的的协方差
  • rolling_quantile():计算各个移动窗口中元素的分位数
  • rolling_skew():计算样本值的偏度(三阶矩)
  • rolling_kurt():计算样本值的峰度(四阶矩)

下面只详细介绍六个方法:

(a)移动平均值(Moving Average)

window=3表示窗口大小为3,即计算每3个数据的平均值。

(b)滚动求和(Rolling Sum)

window=5表示窗口大小为5,即计算每5个数据的和。

(c)滚动最大值(Rolling Maximum)

window=7表示窗口大小为7,即计算每7个数据的最大值。

(d)滚动最小值(Rolling Minimum)

window=7表示窗口大小为7,即计算每7个数据的最小值。

(e)滚动标准差(Rolling Standard Deviation)

window=5表示窗口大小为5,即计算每5个数据的标准差。

(f)自定义窗口函数:rolling().apply()方法

custom_function是自定义的窗口函数,data是窗口中的数据,result是窗口函数的计算结果。

二. 数据读写

Pandas提供了多种读取数据的方法,包括读取CSV、Ecel、SQL数据库等。

1)CSV

(a)写出csv文件

(b)读入刚写出的文件

2)EXCEL

(a)写出excel文件

(b)读取excel文件

3)HDF

(a)写出hdf文件

(b)读入刚刚写出的文件

4)SQL

(a)写出到mysql里

(b)读入刚列写出的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/640454.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3D地图大屏 附源码(Three.js + Vue3)

目录 👋 前言 🚀 项目包 ⚒️ 字体制作 🌐 地图制作 💡 参考视频 & 项目 开源项目(Vue3tsWindcssEchartThree.js大屏案例) 开源(教程) UI风格学习( www.shuzixs.com …

深兰科技入选2024全国“人工智能+”行动创新案例TOP100

近日,中科院《互联网周刊》联合eNET研究院、德本咨询、中国社会科学院信息化研究中心共同发布了《2024全国“人工智能”行动创新案例TOP100》榜单。经评委会层层遴选,深兰科技专为洛阳市打造的“工业智能化洛阳中心”项目成功入围该榜单。一同入围的还包…

单片机 VS 嵌入式LInux (学习方法)

linux 嵌入式开发岗位需要掌握Linux的主要原因之一是,许多嵌入式系统正在向更复杂、更功能丰富的方向发展,需要更强大的操作系统支持。而Linux作为开源、稳定且灵活的操作系统,已经成为许多嵌入式系统的首选。以下是为什么嵌入式开发岗位通常…

STM32标准库编程与51单片机直接写寄存器的区别和联系

简介: 在学完51单片机之后,我们去学习32的时候,会发现编程的方法有很大的区别,让人非常的不适应,但是通过不断的调用相应外设的库函数之后,你也可以去编程STM32,来实现功能,但是你真…

如何高效协作?

前言 上一篇文章我们分享了《如何高效沟通》,本篇文章继续延伸至更复杂的场景,跨团队/跨部门协作。 什么是协同? 协同也会被称为协作合作,无论是哪种类型的团队,无论哪种方式的工作场景,都一定会有协作发…

智慧公厕解决方案易集成好使用的智能硬件

在现代城市建设中,智慧公厕的需求日益增长。为了提供更好的用户体验和更高效的管理,易集成、好使用的智能硬件成为智慧公厕解决方案的关键组成部分。 1. 蹲位有人无人感应器:是用于检测厕位有人无人的设备,根据现场不同的安装条件…

Rumble Club加速器哪个好用 稳定好用的联机加速器推荐

Rumble Club加速器哪个好用 稳定好用的联机加速器推荐 说到Rumble Club这款游戏,各位休闲玩家肯定不陌生,这是一款基于物理定律的在线玩家对战游戏,玩法独特且充满乐趣。玩家可以使用各种富有想象力的方式推搡、击打和超越对手,以…

我在本地部署通义千问Qwen1.5大模型,并实现简单的对话和RAG

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

1957C - How Does the Rook Move?

题目链接:How Does the Rook Move? 如图: 因为每行每列都只能放一个棋子,因此我们用绿点来表示下的棋子,发现一个规律,当红色格子都被绿线划过时,那么就不能下棋子。当这个白色点放在xy这个点&#xff0c…

Linux使用Docker部署DashDot访问本地服务器面板

文章目录 1. 本地环境检查1.1 安装docker1.2 下载Dashdot镜像 2. 部署DashDot应用 本篇文章我们将使用Docker在本地部署DashDot服务器仪表盘,并且结合cpolar内网穿透工具可以实现公网实时监测服务器系统、处理器、内存、存储、网络、显卡等,并且拥有API接…

【解决】echarts条形图纵坐标显示不全

先说结论: option:{...grid: {containLabel: true},... }这个属性是控制整体的坐标标签的。加上这个就可以显示完整了。然后再根据其他属性调整标签的字体、颜色之类的 yAxis : [{...axisLabel:{width:100,overflow:break,truncate:...,color:red,fontSize:10,},..…

配置nodejs的俩小脚本

介绍:共两个脚本。 脚本1,用来配置环境变量,生成环境变量所需的配置信息,然后自己添加到系统环境变量里去 特别注意:该脚本需要放到nodejs目录下面,如果不是,则无法生成环境变量配置文本内容 另…