(七)Pandas时序数据 学习简要笔记 #Python #CDA学习打卡

一. 时序数据简介

1)定义

时间序列(time series),就是由时间构成的序列,它指的是在一定时间内按照时间顺序测量的某个变量的取值序列,比如一天内的温度会随时间而发生变化,或者股票的价格会随着时间不断的波动,这里用到的一系列时间,就可以看做时间序列。时间序列包含三种应用场景,分别是:

  • 特定的时刻(timestamp),也就是时间戳;
  • 固定的日期(period),比如某年某月某日;
  • 时间间隔(interval),每隔一段时间具有规律性

2)类型

Pandas时序处理中最常见的两种数据类型为datetime和timedelta。

datetime:既有日期date也有时间time,表示一个具体的时间点(时间戳)。

timedelta:两个时间点之间的差,比如2020-01-01和2020-01-02之间的timedelta即为一天。

二. 创建时间序列数据

1)使用to_datetime创建时间序列

2)使用pd.date_range()创建一段连续的时间范围

start是起始日期,end是结束日期,freq是频率,这里设置为'D'表示每天。

3)使用Timestamp()函数创建一个特定的时间戳

4)使用datetime模块创建时间戳

三. 时长数据计算

1)计算两个时间数据之差(Timedelta)

2)计算时间戳:固定时间+Timedelta类型的时间差

四. 时序索引

1)将日期作为索引创建时间序列

periods是时间序列的长度,freq是频率,这里设置为D'表示每天。

2)索引和切片

(a)使用日期进行索引

(b)使用日期范围进行切片

(c)使用切片操作对数据进行访问

3)重采样(resample)(最重要)

重采样是指将时间序列数据的频率转换为其他频率(基于时间的groupby操作)

重采样主要有两种类型:

1、升采样(Upsampling)

升采样可以增加数据的频率或粒度(**从低频到高频),**将数据转换成更小的时间间隔。

2、降采样(Downsampling)

降采样包括减少数据的频率或粒度(**从高频到低频),**将数据转换为更大的时间间隔。

以降采样为例:

W'表示按周进行重采样,mean()表示计算每周的平均值。

整个过程其实就是一个groupby过程:

  • 对原有的数据按照指定的频率进行切分,分到不同的group中
  • 对不同的group执行操作
  • 整合操作结果

4)滚动计算(rolling)

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

5)时间偏移(shift)

将时间序列向前或向后移动

1表示向后移动1个时间单位

五. 时间访问器dt:提取出时间/日期的属性

在Pandas中,可以使用dt访问器来访问时间戳或时间序列中的各个时间部分,例如年、月、日、小时、分钟、秒等。当数据中的时间列(本数据中为trade_date列)已经转换为datetime64格式时,仅需调用.dt接口,即可快速求得想要的结果,下表中列出了.dt接口所提供的常见属性:

1)创建一个时间序列

2)提取年份

3)提取月份

4)提取日期

5)提取小时

6)提取分钟

7)提取秒数

8)提取季度

9)提取周数

10)获取星期几的名称

11)获取该日期是一年中的第几天

12)获取该日期是一周中的第几天

13)获取该日期是一个月中的第几天

14)获取该日期所在月份的最后一天

六. 时长转化

1)创建时间戳序列

2)提取时间戳中的秒数

下一期:Pandas窗口数据,Bye!

相关推荐
ss27342 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss27343 分钟前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql
小黄人软件1 小时前
桌面需要整理吗?有工具自动分类
学习
老衲不用@飘柔2 小时前
SFP与SFP+学习知识整理
学习
X54先生(人文科技)2 小时前
社会嵌入式终身学习机器与修复时代-ELR架构和技术演化探讨
人工智能·深度学习·学习·架构·开源协议
residual_fan2 小时前
船用柴油机动态机动工况故障诊断:控制感知仿射网络(CAAN)的技术实现
人工智能·算法·数据挖掘·数据分析
爱上纯净的蓝天3 小时前
不用云做 RAG:一个本地笔记问答工具的取舍与坑
python·开源·大模型·rag·本地部署
电子云与长程纠缠3 小时前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
syagain_zsx3 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
其实防守也摸鱼3 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全