(八)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)读入刚列写出的文件

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

云原生Kubernetes: K8S 1.29版本 部署Kuboard

目录 一、实验 1.环境 2.K8S 1.29版本 部署Kuboard (第一种方式) 3.K8S 1.29版本 部署Kuboard (第二种方式) 4.K8S 1.29版本 使用Kuboard 二、问题 1.docker如何在node节点间移动镜像 一、实验 1.环境 (1)主机 表1 主机 主机架构版本IP备注ma…

SPI接口的74HC595驱动数码管实现

摸鱼记录 Day_17 (((^-^))) review 前边已经学习了: 数码管显示原理:数码管动态扫描显示-CSDN博客 且挖了个SPI的坑坑 1. 今日份摸鱼任务 学习循环移位寄存器18 串行移位寄存器原理详解_哔哩哔哩_bilibili 学习SPI接口的74HC595驱动数码管19 SPI…

【机器学习300问】75、如何理解深度学习中Dropout正则化技术?

一、Dropout正则化的原理是什么? Dropout(随机失活)正则化是一种用于减少神经网络中过拟合现象的技术。Dropout正则化的做法是: 在训练过程中的每次迭代中,随机将网络中的一部分权重临时"丢弃"(即…

apache是什么

​Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译…

Vue接收接口返回的mp3格式数据并支持在页面播放音频

一、背景简介 在实际工作中需要开发一个转音频工具,并且能够在平台页面点击播放按钮播放音频 二、相关知识介绍 2.1 JS内置对象Blob Blob对象通常用于处理大量的二进制数据,可以读取/写入/操作文件、音视频等二进制数据流。Blob表示了一段不可变的二…

SpringBoot(二)【整合第三方技术】

1、SpringBoot 整合第三方框架 1.1、整合 JUnit 我们先回顾一下在学习 SpringMVC 的时候,我们当时整合 Spring 和 JUnit 是这么整合的: 注意:如果测试类在 SpringBoot 启动类的包或者子包中,可以省略启动类的设置,也…

npm内部机制与核心原理

npm 的核心目标: Bring the best of open source to you, your team and your company. npm 最重要的任务是安装和维护开源库。 npm 安装机制与背后思想 npm 的安装机制非常值得探究。Ruby 的 Gem,Python的pip都是全局安装机制,但是npm的安装…

如何部署npm私有仓库以及在项目中如何使用

如何部署npm私有仓库以及在项目中如何使用 为什么要部署npm私有仓库? 安全性:私有仓库允许团队存放内部研发的、不宜公开发布的代码包,只对特定用户或者团队可见和可用,从而保护公司的知识产权和商业秘密。模块的复用性&#xf…

GUI02-在窗口上跟踪并输出鼠标位置(Win32版)

(1) 响应 WM_MOUSEMOVE 消息获得鼠标位置; (2) 响应 WM_PAINT 将鼠标位置输出到窗口中; (3) 学习二者之间的关键步骤:调用 InvalidateRect() 以通知窗口重绘。 零. 课堂视频 在窗口上跟踪输出鼠标位置-Win32版 一、关键知识点 1. BeginPaint…

安装Milvus的可视化工具Attu教程

提供两种方式来安装可视化工具Attu 一、docker安装 # 执行命令,加个 -d 在后台运行 docker run -d -p 8000:3000 -e MILVUS_URL127.0.0.1:19530 zilliz/attu:v2.2.8 至此安装完成! 浏览器输入地址 http:127.0.0.1:8000即可访问 Attu主页 如果拉取最新…

windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流

windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流 整体流程1.下载所需文件1. 1下载rtsp推流服务器1.2 下载ffmpeg2. 开启RTSP服务器3. opencv 读取摄像头并调用ffmpeg进行推流4. opencv进行拉流整体流程 1.下载所需文件 1. 1下载rtsp推流服务器 下载 RTSP服务器 下…

Rust入门-所有权与借用

一、为什么、是什么、怎么用 1、为什么Rust要提出一个所有权和借用的概念 所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成为所有编程语言设计的难点之一。 主要分为三种…

【opencv】dnn示例-vit_tracker.cpp 使用OpenCV库和ViTTrack模型实现的视频追踪程序

这段代码是一个使用OpenCV库和ViTTrack模型实现的视频追踪程序。程序通过摄像头或视频文件获取图像序列,并对选定的目标对象进行实时追踪。 代码主要分为以下几个部分: 导入必要的库:程序开始时先导入了iostream,cmath以及相关Ope…

Hive进阶(4)----MapReduce的计算过程(赋图助君理解)

MapReduce的计算过程 MapReduce是一种编程模型和处理大规模数据集的方法。它通常用于分布式计算环境中,能够将数据处理任务分解成独立的部分,分配给多台计算机进行并行处理。这个模型由Google提出,并在开源领域中得到了广泛的应用和实现。Map…

CSS显示模式

目录 CSS显示模式简介 CSS显示模式的分类 块元素 行元素 行内块元素 元素显示模式的转换 使块内文字垂直居中的方法 设计简单小米侧边栏(实践) CSS显示模式简介 元素显示模式就是元素(标签)以什么方式进行显示&#xff0…

前端三剑客 HTML+CSS+JavaScript ② HTML相关概念

他们这样形容我 是暴雨浇不灭的火 —— 24.4.18 学习目标 理解 HTML的概念 HTML的分类 HTML的关系 HTML的语义化 应用 HTML骨架格式 sublime基本使用 一、HTML初识 HTML指的是超文本标记语言,是用来描述网页的一种语言 超文本:暂且理解为“超级的文本”&…

BNB链融合

BNB Chain融合 BNB Chain目前有BNB智能链(BSC),BNB信标链 BNB信标链:用作质押和投票的治理层,采用BEP-2代币标准BNB智能链(BSC):用作EVM兼容层,提供DApp、DeFi服务、共识层、多链支持和其他Web3…

【AI工具之Prezo如何自动生成PPT操作步骤】

先说优缺点: 最大的优点就是免费(但说实话功能和体验方面很弱)支持中文提问(最好用英文),智能生成图文(但是只能生成英文内容)可以AI生成图片,图片很精美酷炫&#xff0…

Hive进阶(2)----HDFS写入数据流程(赋图助君理解)

HDFS写入数据流程 一、写入流程 1、 Client向NameNode发起RPC请求,来确定请求文件block所在的位置; 2、 NameNode会视情况返回文件的部分或者全部block列表,对于每个block,NameNode都会返回含有该block副本的DataNode地址&…

三、fpga对完成过滤和校验的有效包数据进行有效像素提取、MATLAB对数据源进行处理与下发(完整实现pc机→显示器通信链路)

前言:上篇文章实现了MATLAB模拟发送UDP以太网协议数据包到fpga,能实现双沿数据→单沿数据转换,并将转换后的数据进行包过滤和crc校验,本篇内容要实现真正的从pc机下发视频数据,经过千兆以太网传输存储到fpga 的ddr3中,然后通过hdmi读出到显示屏上。 文章目录 一、模块设…