时间序列操作|学习笔记

简介: 快速学习时间序列操作

开发者学堂课程【Python 常用数据科学库:时间序列操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/546/detail/7488


时间序列操作

内容介绍

一、从时间序列中取数据

二、时间序列的重采样

三、画时间序列


一、从时间序列中取数据

1、有这样的时间序列之后,要从这个数据中提取数据, 在 data 里要指定一些索引的,可以直接用 pandas 当索引。随便指定一天,就是从一个时间的切片到另外一个时间切片,这个数据就取到了,然后就是用 time step 取数据的切片

data[pd.Timestamp(‘2012-01-01 09:00’):pd. Timestamp(‘2012-01-01 19:00’)]

不加这个东西默认也会做这样转换,数据也会取出来。所以说当指定以时间为索引的时候,也可以直接把这个数据取出来。

2、.tail 相当于取最后的数据,比如取最后十个数据,可以取到从12年12月31到这个13年的数据。现在我想取所有13年数据, data 里直接指定一个2013就可以了:date[‘2013’],这就是说怎么样把这个数据从哪年到哪年取出来。比如想取这个2012年1月份到2012年3月份,直接用 data 加日期

data[‘2012-01:’2012-03’’]

执行所有数据也能取出来。对时间操作来说也是有这样索引和一个切片,可以直接把时间序列指定出来,还可以用布尔类型索引,所以在 data 当中,在 index 值当中指定一个月份,想把所有的月份都取出来,不管是哪年的,就把1月份取出来

data[data.index.month==1]

执行一下, 09年的1月份一直到12年13年1月份都打印出来了。比如想找具体的一个日子,可以在 index 值当中把具体的日子找出来,然后用这样一个布尔类型的索引去进行一个时间序列判断,这个也是可以的。

3、比如在数据当中,8点~12点单独拿出来,然后12点~3点我再单独拿出来,把数据分成一块一块的,然后用中文一起去分析。这也可以,就是在 data 里,  index  里不光有月份还有小时,把小时设置成在8点和12点之间,指定这样一个数。

data[(data.index.hour>8 & (data.index.hour<12)]

接下来得到一个结果,所有数据都是8点~12点之间,我们可以按照这样的模式去把数据进行切分,可以切分成一个一个的小块,这一个个小块便于我们进行主板块的分析。到这里不光可以这么写,还有一种写法 between_time,然后把两个时间点写进去,比如8点开始,然后到这个12点

data.between_time(’08:00’,’12:00’)

也是可以把这个数据拿出来。这个数据跟上面数据是一致的,只不过上一个是不包含12点的,下面的会包含12点的数据,这个就是对数据怎样进行一个操作。  


二、时间序列的重采样

1、比如说现在的一个数据, 09年的1月1号, 3点、6点、9点、12点,都有一些指标值,现在想统计的是变了,后面指标值现在就相当于它在某一时刻具体的值,但是想看的就是09年1月1号的平均值,09年1月2号的平均值,1月3号的平均值,想执行这样一个操作,相当于把这些观测值求一个平均,这个就叫做时间序列的重采样。这个就是一个 resample 操作,你可以指定按照什么样的方式去重采样,按照天的方式,然后去计算它的一个均值

data.resample(‘D’).mean().head()

原来这是1月1号有一堆时间点,1月2号有一个有一堆时间点,但是现在执行了这样的重采样,并且让重采样执行是按照一天为单位,算了这样一个均值,然后得到一个结果。接下来结果就是1月1号、1月2号、1月3号,它就是以天为单位,而不是说以某一天的某一个时间点为单位,相当于是这样一个意思。

2、然后 resample 这个模块下,去指定.mean 操作,其实在这个模式下,它默认的一个操作也是 .mean ,只不是在这里我们就加上一个 .mean,默认会帮我们去做它的均值。只要在这里再指定一个参数,指定以天为单位,并且指定 how 等于 mean 值,然后再 .head

data.resample(‘D’,how=’mean’).head()

得到的结果都是一样。

3、在这个过程当中,不光可以指定一个值,还可以指定一个 max 值,比如说1月1日,那么多时间节点最大的时间节点是什么,这样方便我们进行统计分析。然后这里按照一天去算了这样的事,按照多天也是可以的,指定3 day,现在以三天为单位

data.resample(‘3D’).mean().head()

又得到了一个新的结果。这就是在进行时间重采样的过程当中,可以指定很多种操作方式,这里指定了一个m,相当于是以这个月份为单位又进行了一个进行统计。

data.resample(‘M’).mean().head()

三、画时间序列

1、在这里对于这个时间序列,我们可以直接把它的图给画出来,.mean 操作之后,还有这样的操作 .plot,相当于直接去画这样的图。

data.resample(‘M’).mean().head().plot

再执行一下,它就会把这个图直接画出来,pandas 里可以直接调.plot,可以直接画图,这是最简单的一种画图的方式。之后还会说很多的画图方式, pandas 可能用的不是很多。重采样中我们可以对数据执行很多的操作,这里现在只是单模块去讲这个东西,然后到时候用的时候我们就需要把很多东西都结合在一起了。

相关文章
|
存储 缓存 Oracle
Oracle JDBC 驱动程序
开始使用 Oracle JDBC 驱动程序 (Doc ID 1602866.1
2550 0
|
1月前
|
编解码 Linux Android开发
安卓手机投屏电脑端教程,手机投屏教程,可以手机和电脑互传文件。电脑管理手机文件和APP等操作
QtScrcpy是一款基于Scrcpy开发的跨平台安卓投屏工具,支持Windows、macOS、Linux系统。无需在手机安装应用,通过USB或Wi-Fi连接即可实现高清低延迟投屏,支持文件互传、屏幕录制、截图、多设备管理等功能,操作简便,适合开发者与普通用户使用。
433 47
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
AI内容创作Agent架构解析:基于移动端原生框架的内容特工队AI (ReelsAgent)与传统短视频工具的技术差异
传统的AI视频工具链往往基于单点功能堆栈或PC/Web端的SaaS架构,难以承载短视频营销所需的高频、高并发、全流程自动化需求。本文将从AI Agent系统架构角度,对比内容特工队AI (ReelsAgent)的移动端原生设计与现有主流工具的实现路径,以评估其在工程实践中的优劣。
268 7
|
7月前
|
人工智能 网络性能优化 异构计算
阿里云基础网络技术5篇论文入选全球网络顶会NSDI
阿里云在NSDI 2025会议上发表5篇主会论文,涵盖大模型训练网络故障诊断、仿真、性能优化及CDN流控算法等领域。其中,《Evolution of Aegis》提出两阶段演进路线,显著降低故障诊断时间;《SimAI》实现高精度大模型训练模拟;其他论文分别在CDN拥塞控制、GPU解耦推理和容器网络性能优化上取得突破。这些成果为AI大模型时代的云计算基础设施发展提供了重要支持。NSDI是计算机网络与系统研究领域的顶级会议,本次录取率仅12.5%。
|
3月前
|
存储 运维 容灾
数字化投了那么多,数据中心到底该不该建?
在数字化转型浪潮下,数据中心成为企业热议话题。有人因利用率低而“滴血”,有人却借此提升效率、接单到年底。本文深入分析:数据中心究竟解决算力刚需、降低成本、掌控数据主权,但也存在运维、能耗、迭代等隐性成本。通过“四维模型”判断是否该建,企业应结合需求、成本、能力与政策,做出理性决策。建之前,先想清楚:你的业务真的需要它吗?
数字化投了那么多,数据中心到底该不该建?
|
人工智能 编解码 内存技术
手把手教你生成一幅好看的AI图片
想要生成一幅好看的AI图片,但是却不知道如何下手?只会1girl的你现在是不是很烦恼?别急,看这篇文章就够了。
手把手教你生成一幅好看的AI图片
|
11月前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
机器学习/深度学习 自然语言处理 算法
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
|
资源调度 算法 固态存储
在集群计算的时候,集群的主要瓶颈
在集群计算的时候,集群的主要瓶颈
|
12月前
|
数据库
数据结构中二叉树,哈希表,顺序表,链表的比较补充
二叉搜索树,哈希表,顺序表,链表的特点的比较
数据结构中二叉树,哈希表,顺序表,链表的比较补充