![fb4ae97aac2e5adfda1b89a76b815f00.png](https://i-blog.csdnimg.cn/blog_migrate/15f5beb8358de5ac26f7d2a53f8ab8f5.jpeg)
一起学习,一起成长!
前言
时间序列(time series)数据都是一种重要的结构化数据形式。
时间序列数据的意义取决于具体应用场景,主要有一下几种:
- 时间戳(timestamp),特定的时刻。
- 固定时期(period),如2007年1月或2010年全年。
- 时间间隔(interval),由起始和结束时间戳表示。时期(period)可以被看做间隔(interval)的特例。
- 实验或过程时间,每个时间点都是相对于特定起始时间的一个度量。例如,从放入烤箱起,每秒钟饼干的直径。
Pandas提供了一组标准的时间序列处理工具和数据算法。因此,可以高效处理非常大的时间序列,轻松地进行切片/切块、聚合、对定期/不定期的时间序列进行重采样等。
日期和时间数据类型及工具
Python标准库包含用于日期(date)和时间(time)数据的数据类型,而且还有日历方面的功能。主要用到datetime、time以及calendar模块。datetime.datetime(也可以简写为datetime)是用得最多的数据类型:
In [97]: from datetime import datetime
In [98]: now=datetime.now()
In [99]: now
Out[99]: datetime.datetime(2018, 9, 16, 11, 2, 28, 854799)
In [100]: now.year,now.month,now.day
Out[100]: (2018, 9, 16)
In [6]: now.year
Out[6]: 2019
In [7]: now.month
Out[7]: 7
In [8]: now.day
Out[8]: 14
datetime以毫秒形式存储日期和时间。
- datetime.timedelta:时间差
表示两个datetime对象之间的时间差:
In [101]: delta=datetime(2011,1,7)-datetime(2008,6,24,8,15)
In [102]: delta
Out[102]: datetime.timedelta(926, 56700)
In [103]: delta.days
Out[103]: 926
In [104]: delta.seconds
Out[104]: 56700
- 使用timedelta生成新对象
可以给datetime对象加上(或减去)一个或多个timedelta,这样会产生一个新对象:
In [107]: from datetime import timedelta
In [108]: start=datetime(2011,1,7)
In [109]: start + timedelta(12)
Out[109]: datetime.datetime(2011, 1, 19, 0, 0)
In [110]: start - 2*timedelta(12)
Out[110]: datetime.datetime(2010, 12, 14, 0, 0)
- Datatime模块中的数据类型
date:以公历形式存储日历日期(年、月、日)
time:将时间存储为时、分、秒、毫秒
datetime:存储日期和时间
timedelta:表示两个datetime值之间的差(日、秒、毫秒)
总的来说,时间序列在数据处理与分析中是极为重要的数据存在形式,也会经常遇到该类型数据的工作,通过python对其进行相应的操作,方便且快捷,可复用性很强。
「亲,如果笔记对您有帮助,收藏的同时,记得给点个赞、加个关注哦!感谢!」
「文中代码均亲测过,若有错误之处,欢迎批评指正,一起学习,一起成长!」