数据分析-Pandas序列时间移动窗口化操作

news/2024/7/24 5:59:27 标签: 数据分析, pandas, 数据挖掘, 移动平均, MA

数据分析-Pandas序列时间移动窗口化操作

数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律?

数据表,时间序列数据在数据分析建模中很常见,例如天气预报,空气状态监测,股票交易等金融场景。数据分析过程中重新调整,重塑数据表是很重要的技巧,此处选择Titanic数据,以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。

数据分析

数据分析-Pandas如何转换产生新列

数据分析-Pandas如何统计数据概况

数据分析-Pandas如何轻松处理时间序列数据

数据分析-Pandas如何选择数据子集

数据分析-Pandas如何重塑数据表-CSDN博客

本文用到的样例数据:

Titanic数据

空气质量监测 N O 2 NO_2 NO2数据

样例代码:

源代码参考 Pandas如何重塑数据表

源代码参考 python数据分析-数据表读写到pandas

导入关键模块

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

plt.close("all")

时间序列,有时候需要观察一个窗口下的数据统计,比如,股市中的移动平均曲线,气象监测数据的移动平均。滑动窗口可以过滤掉不必要的高频信号。

移动滑窗函数

通用滑动窗口,支持将窗口指定为固定数值的观测值或变量,基于偏移量的观测值。也可以基于时间的偏移量 ‘2D’,则相应的基于时间的索引必须是单调的。

times = ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10']

s = pd.Series(range(10), index=pd.DatetimeIndex(times))

print(s)


# Window with 2 observations
sum = s.rolling(window=2).sum()
ma = s.rolling(window=2).mean()
print (sum)

# Window with 2 days worth of observations
sum2d = s.rolling(window='2D').sum()
ma2d = s.rolling(window='2D').mean()
print (sum2d)

为了方便理解,采用连续整数数值作为序列。

2020-01-01    0
2020-01-02    1
2020-01-03    2
2020-01-04    3
2020-01-05    4
2020-01-06    5
2020-01-07    6
2020-01-08    7
2020-01-09    8
2020-01-10    9
dtype: int64


其中第一种移动操作的结果如下:

2020-01-01     NaN
2020-01-02     1.0
2020-01-03     3.0
2020-01-04     5.0
2020-01-05     7.0
2020-01-06     9.0
2020-01-07    11.0
2020-01-08    13.0
2020-01-09    15.0
2020-01-10    17.0
dtype: float64

以时间为移动窗口的操作结果如下,可以看出在边缘值的时候做适当调整:

2020-01-01     0.0
2020-01-02     1.0
2020-01-03     3.0
2020-01-04     5.0
2020-01-05     7.0
2020-01-06     9.0
2020-01-07    11.0
2020-01-08    13.0
2020-01-09    15.0
2020-01-10    17.0
dtype: float64

在这里插入图片描述
在这里插入图片描述

以上代码只是一个简单示例,示例代码中的表达式可以根据实际问题进行修改。

后面介绍下其他的展示形式。

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End

GPT专栏文章:

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-探究GPT等大模型的文本生成-CSDN博客


http://www.niftyadmin.cn/n/5437089.html

相关文章

k8s client-java创建pod常见问题

1.配置Kubernetes连接: 使用Kubernetes的配置文件(通常位于~/.kube/config)或直接使用API服务器地址、认证信息等来配置客户端。 配置通常有两种模式,安全和不安全的配置模式,对认证要求严格就选用安全模式&#xff…

人工智能时代八大类算法你了解吗?(文末包邮送书6本)

文章目录 本文导读1. 关联规则分析2. 回归分析3. 分类分析4. 聚类分析5. 集成学习6. 自然语言处理7. 图像处理8. 深度学习9. 书籍推荐(包邮送书6本) 本文导读 从零带你了解人工智能时代需要掌握的8大类算法,包括基础理论、关联规则分析、回归…

UnityShader(十七)透明效果

前言: 在实时渲染中实现透明效果,通常会在渲染模型时控制它的透明通道(Alpha Channel)。当开启透明混合后,一个物体被渲染到屏幕上时每个片元除了颜色值和深度值外,还有一个透明值,1表示像素完…

CTF题型 SSTI(2) Flask-SSTI典型题巩固

CTF题型 SSTI(2) Flask-SSTI典型题巩固 文章目录 CTF题型 SSTI(2) Flask-SSTI典型题巩固前记1.klf__sstiSSTI_Fuzz字典(网上收集自己补充) 2.klf_2数字问题如何解决了?|count |length都被禁? 3.klf_3 前记 从基础到自己构造paylo…

深入理解 C# Unity 中的事件和委托

事件和委托是 C# Unity 游戏开发中的基本概念,可实现游戏不同部分之间的通信和交互。在本文中,我们将以简单的术语探讨这些概念,以帮助Unity 项目中利用它们发挥应有的作用 目录 事件和委托: 1. 什么是 C# 事件? 2、声明: 3. 订阅活动: 4. 发布活动: 5.

Mac玩《幻兽帕鲁》为什么打不开D3DMetal?d3d错误怎么办 d3dxl error

我之前发了一篇讲Mac电脑玩Steam热门新游《幻兽帕鲁》的文章(没看过的点这里),后来也看到很多朋友去尝试了,遇到了一些问题,无法进入《幻兽帕鲁》游戏,或者是玩的时候卡顿以及出现黑屏,通过我的…

Docker 是什么,Docker 常用命令,怎么写Dockerfile

Docker 是什么 Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包成一个标准化的单元,这个单元可以在任何支持Docker的环境中运行。 轻量级和可移植性:Docker容器相比于传统的虚拟机更加轻量,因为它们不需要额外…

CentOS7 操作firewall防火墙

常用命令 开启关闭防火墙 systemctl start/status/stop/disable firewalld查看默认区域名称 $ firewall-cmd --get-default-zone public查看区域信息 firewall-cmd --get-active-zones查看指定接口所属区域 firewall-cmd --get-zone-of-interfaceeth0查看防火墙配置 # 查…