数据分析-Pandas序列滑动窗口配置参数

数据分析-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")

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

窗口居中

通用滑动窗口,默认情况下,标签设置在窗口的右边缘,但可以使用关键字,以便可以在中心设置标签。center

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)

ma = s.rolling(window=5).mean()
print (ma)

ma_c = s.rolling(window=5, center=True).mean()
print (ma_c)

为了方便理解,采用连续整数数值作为序列。可以看出,数值序列的值是不变的,改变的是输出数值的位置,index

# s 
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

# ma
2020-01-01    NaN
2020-01-02    NaN
2020-01-03    NaN
2020-01-04    NaN
2020-01-05    2.0 # 第一个数值位置
2020-01-06    3.0
2020-01-07    4.0
2020-01-08    5.0
2020-01-09    6.0
2020-01-10    7.0 # 最后一个数值位置

# ma_c
2020-01-01    NaN
2020-01-02    NaN
2020-01-03    2.0 # 第一个数值位置
2020-01-04    3.0
2020-01-05    4.0
2020-01-06    5.0
2020-01-07    6.0
2020-01-08    7.0 # 最后一个数值位置
2020-01-09    NaN
2020-01-10    NaN

窗口端点的闭合

可以使用以下参数指定在滚动窗口计算中包含间隔端点:closed

含义
'right'右端点闭合
'left'左端点闭合
'both'两个端点闭合
'neither'两个端点不闭合
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']

df = pd.Dataframe(
	{"x" : range(10)}, index=pd.DatetimeIndex(times))
print(df)

df["right"] = df.rolling(3, closed="right").x.sum()  # default

df["both"] = df.rolling(3, closed="both").x.sum()

df["left"] = df.rolling(3, closed="left").x.sum()

df["neither"] = df.rolling(3, closed="neither").x.sum()

以时间为移动窗口的操作结果如下,可以看出在边缘值计算方式:

            x  right  both  left  neither
2020-01-01  0    0.0   0.0   NaN      NaN
2020-01-02  1    1.0   1.0   0.0      0.0
2020-01-03  2    3.0   3.0   1.0      1.0
2020-01-04  3    6.0   6.0   3.0      3.0
2020-01-05  4    9.0  10.0   6.0      5.0
2020-01-06  5   12.0  14.0   9.0      7.0
2020-01-07  6   15.0  18.0  12.0      9.0
2020-01-08  7   18.0  22.0  15.0     11.0
2020-01-09  8   21.0  26.0  18.0     13.0
2020-01-10  9   24.0  30.0  21.0     15.0

为了更好理解该参数的作用,以上述的序列x为例,当3D滑动窗口时,截断如下子序列:

[1, 2, 3, 4 ]

closed right : 2 + 3 + 4 = 9 ( 也就是左开,右闭,其中1 不纳入计算)

closed left : 1 + 2 + 3 = 6 (也就是左闭,右开,其中 4 不纳入计算)

closed both : 1 + 2 + 3 + 4 = 10 (也就是左闭,右闭,1,4 都纳入计算)

closed neither : 2 + 3 = 5 (也就是左开,右开,1, 4都不纳入计算)

在这里插入图片描述

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

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

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

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博客

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

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

相关文章

「Swift」AttributedString常见使用方法

前言:AttributedString是Apple推出的可以实现单个字符或字符范围带相应属性的字符串。属性提供了一些文本特性,可以让文本展示的样式更加丰富。在日常开发过程中,我通常用于同一个Label中包含不同的字体大小或字体颜色的样式编写中。 使用举…

x86 32 64 Arm这些听过但不懂,都是什么?是架构还是系统?一文梳理

x86 听过吗?64位操作系统知道吧 和x86什么关系32和64都是什么东西?曾经的我也一头雾水,今天我才来整理一下,惭愧惭愧!今天带着沉重的心情来梳理一下学习内容吧 如果你很熟悉很了解计算机的话,应该知道&…

物资管理系统建设方案

二、 项目概述 2.1 项目背景 2.2 现状分析 2.2.1 业务现状 2.2.2 系统现状 三、 总体需求 3.1 系统范围 3.2 系统功能 3.3 用户分析 3.4 假设与依赖关系 四、 功能需求 五、 非功能性需求 5.1 用户界面需求 5.2 软硬件环境需求 5.3 产品质量需求 5.4 接口需求 …

算力的尽头是光伏和储能——电力算力融合:能源问题的新思路

近年来,随着"数字中国"、数字经济等国家战略的推进,算力需求呈现爆发式增长。为了适应这一趋势,各地纷纷探索电力与算力融合发展的新模式。 在北京,北七家未来科技城站、怀柔北房站、丰台丽泽商务区站等多个"多站融…

UE4_官方动画内容示例1.1_使用动画资产

对一个SkeletalMeshActor进行设置,设置好之后,可以通过该Actor的细节(Details)面板播放指定的动画序列(AnimationSequence)资产(例如让Actor翻跟斗并做开合跳)。 骨架网格体定义&am…

QT配置libtorch(一步到位!!!防止踩坑)

QT配置libtorch Qt下载QT配置MSVCQT配置Libtorch Qt下载 Qt点击下载 Qt的安装选择MSVC2017 64-bit(一定要安装,这关乎后面的配置!!!),其他的根据自己的选择进行安装 QT配置MSVC Visual Studio点击安装 这里需要安装VS以…

vue2 中使用音频

vue2 中使用音频 在 template 页面 写入 audio 标签 <template><div><audio ref"moreAudio" :src"moreAudioSrc"></audio><audio ref"noAudio" :src"noAudioSrc"></audio></div> </t…

设计模式 适配器模式

1.背景 适配器模式&#xff0c;这个模式也很简单&#xff0c;你笔记本上的那个拖在外面的黑盒子就是个适配器&#xff0c;一般你在中国能用&#xff0c;在日本也能用&#xff0c;虽然两个国家的的电源电压不同&#xff0c;中国是 220V&#xff0c;日本是 110V&#xff0c;但是这…

STC 51单片机烧录程序遇到一直检测单片机的问题

准备工作 一&#xff0c;需要一个USB-TTL的下载器 &#xff0c;并安装好对应的驱动程序 二、对应的下载软件&#xff0c;stc软件需要官方的软件&#xff08;最好是最新的&#xff0c;个人遇到旧的下载软件出现问题&#xff09; 几种出现一直检测的原因 下载软件图标&#xf…

【算法专题--双指针算法】leecode-202. 快乐数(medium)、leecode-11. 盛最多水的容器(medium)

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1. 快乐数&#xff0…

杰发科技AC7801——读取Flash数据做CRC校验

查看Keil的编译结果发现总共6160个字节。计算结果如下&#xff0c; 代码如下 #include "ac780x_crc.h" #include "ac780x.h" #include "ac780x_debugout.h" #include "string.h" #include "ac780x_eflash.h"#define TestSi…

静态网络配置

一、查看网络命令 1.命令行查看网络配置 1、查看ip\硬件设备-网卡 ifconfig -a ifconfig ens160 网卡名称 ip addr show ip addr show ens160 nmcli device show ens160 nmcli con up ens160 2、主机名称 hostname hostname hfj.huaxia.com 3、查看路由和网关 rou…

leetcode 3081

leetcode 3081 题目 例子 思路 使用minheap 记录字符出现频次 代码 class Solution { public:string minimizeStringValue(string s) {int freq[26]{};for(char c: s){if(c ! ?){freq[c-a];}}//std::greater<> 比较器比较 pair 对象时&#xff0c;默认比较规则是先比…

Python数学建模-2.8SymPy库

SymPy库是一个强大的符号计算库&#xff0c;它为Python提供了符号数学计算的能力&#xff0c;它提供了大量的数学符号操作的函数和类&#xff0c;可以帮助用户进行各种复杂的数学计算&#xff0c;如代数、微积分、离散数学、量子力学等。与NumPy等库主要关注数值计算不同&#…

GAMES101 学习3

Lecture 13 ~ 16 Shadow mapping 一种图像空间算法生成阴影时不需要知道场景中的几何信息会产生走样现象 最重要的思想&#xff1a;如果有的点不在阴影里你又能看到这个点&#xff0c;那么说明摄像机可以看到这个点&#xff0c;光源也可以看到这个点 经典的Shadow mapping …

【管理咨询宝藏54】资产管理公司战略规划报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏54】资产管理公司战略规划报告 【格式】PPT&#xff0c;可自由编辑 【关键词】战略规划、商业分析、管理咨询 【核心观点】 - 随着本地和国外资…

最新Java面试题3【2024初级】

下载链接&#xff1a;博主已将以上这些面试题整理成了一个面试手册&#xff0c;是PDF版的 互联网大厂面试题 1&#xff1a;阿里巴巴Java面试题 2&#xff1a;阿里云Java面试题-实习生岗 3&#xff1a;腾讯Java面试题-高级 4&#xff1a;字节跳动Java面试题 5&#xff1a;字…

计算机毕业设计-基于python的旅游信息爬取以及数据分析

概要 随着计算机网络技术的发展&#xff0c;近年来&#xff0c;新的编程语言层出不穷&#xff0c;python语言就是近些年来最为火爆的一门语言&#xff0c;python语言&#xff0c;相对于其他高级语言而言&#xff0c;python有着更加便捷实用的模块以及库&#xff0c;具有语法简单…

diffusion model(十四): prompt-to-prompt 深度剖析

infopaperPrompt-to-Prompt Image Editing with Cross Attention Controlgithubhttps://github.com/google/prompt-to-promptOrg:Google Research个人复现https://github.com/myhz0606/diffusion_learning个人博客主页http://myhz0606.com/article/p2p 1 前言 基于扩散模型&a…

LightGBM:更好更快地用于工业实践集成学习算法

AI预测相关目录 AI预测流程&#xff0c;包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…