目录
在许多行业中,时间序列数据是一种重要的结构化数据类型。本章主要讲解datetime的数据类型及字符串的想换转换方法;时间序列的构造和使用放啊;日期和时期数据的使用方法;时间序列的频率转换与重采样。最后通过一个案例,讲解时间序列数据的处理与分析方法。
8.1datetime模块
本节将讲解Python标准库中的datetime库的使用方法,以及datetime库的数据和字符串数据的转换方法。
8.1.1datetime的构造
Python的标准库datetime可用于创建时间数据类型。如下表所示为datetime库的时间数据类型。
类型 | 使用说明 |
date | 日期(年月日) |
time | 时间(时分秒毫秒) |
datetime | 日期和时间 |
timedelta | 两个datetime的差(日秒毫秒) |
其中date类数据可用于创建日期类数据,通过年、月、日来进行存储,如下图
time类数据用于存储时间数据,通过时、分、秒、毫秒进行存储,如下图
datetime类数据可以看做时date类和time类的组合,通过now方法可以查看当前的时间,如下图
timedelta类数据为两个datetime类数据的差,也可以通过daetime类对象加或减去timedelta类对象,以此获取新的datetime类对象,如下图
8.1.2数据转换
在数据分析中,字符串和datetime类数据需要进行转换,通过str方法可以直接将datetime类数据转换为字符串
如果需要将datetime类数据转换为特定格式的字符串数据(格式化),需要使用strftime方法,如下图
下表所示为部分格式化编码
代码 | 使用说明 |
%Y | 4位数的年 |
%y | 2位数的年 |
%m | 2位数的月 |
%d | 2位数的填 |
%H | 时(24小时制) |
%I | 时(12小时制) |
%M | 2位数的分 |
%W | 每年的第几周,星期一为每周第一天 |
通过datetime.strptime方法可将字符串格式转换为datetime数据类型,如下图
在pandas中,可通过to_datetime方法将一列字符串数据转换为时间数据。以前面章节的示例为例,可以看出HireDate字段的数据类型为字符串
通过to_datetime方法可以将HireDate字段进行转换,如下图,该数据为TimeStamp (时间戳)
8.2时间序列基础
时间序列是以时间戳为索引的Series或DataFrame。本节将讲解时间序列的构造方法,以及时间序列的索引和切片
8.2.1时间序列构造
pandas中的时间序列指的是以时间数据为索引的Series或DataFrame。如下图,为创建一个时间序列的Series
创建的这个时间序列Series的索引为DatetimeIndex对象,如下图