《利用Python 进行数据分析 第二版》 -第11章 时间序列
本章重点内容:
1、日期和时间数据的类型及工具
2、时间序列基础
3、日期范围、频率和移位
4、时间区间和区间算术
接下来进行详细说明
1、日期和时间数据的类型及工具
Python标准库包含了日期和时间数据的类型,也包括日历相关的功能,datetime、time、calendar等,
看一个具体的例子,如下:
timedelta表示两个时间对象的时间差,可以通过相减得到,也可以在原有时间上增加时间差,如下:
字符串与datetime互相转换
将datetime类型时间,转换为字符串,有两种方式
方式1:使用str方法
方式2:通过strftime函数方法
将字符串转换为datetime类型,有三种方式
方式1:使用datetime.strptime
方法2:使用第三方dateutile包的parser.parse
方式3:使用pandas中的to_datetime方法
2、时间序列基础
pandas中的基础时间序列种类是由时间戳索引的Series,在pandas外部则通常表示为Python字符串或datetime对象
看一个数据例子,如下:
可以通过时间,进行数据索引,如下:
因为时间有天、月、年之分,所以也可以通过年月日进行选择,我们将上面的数据稍微调整,如下:
我们可以只选择2019年的数据,如下:
我们可以选择2020年2月的数据,如下:
通过时间对数据切片也是可以的,如下:
3、日期范围、频率和移位
可以通过data_range函数生成时间范围,如下:
可以指定开始时间或者结束时间,然后往后推一段时间或者往前推一段时间,如下:
其实该函数有很多参数可以选择不同的频率日期,举一个常用的情况,就是每个月的最后一个工作日,你可以通过freq参数来获得,如下:
时间的频率可以控制的小时的纬度,也就是通过间隔固定几个小时,来生成时间,如下:
有些特别要求的时间点,也可以获得,例如每个月第三个星期五,如下:
对时间数据进行移位,也就是将时间向前或者向后移动
可以通过shift方法来实现时间的移动,会有不同的移动方式
方式1:保持索引不变,如下:
方法2:移动月份,数据保持不变,如下
方法3:移动日期,数据保持不变,如下:
方法4:移动固定的小时数,数据保持不变,如下:
4、时间区间和区间算术
时间区间表示的时间范围,比如一些天,一些月,一些季度或年,这种数据类型就是Period类,看一个例子:
上面的例子表示2020年1月1日到2020年12月31日的时间段
可以对这种时间区间数据进行加减操作,表示的就是前后移动的时间,如下:
上面的例子表示的是年度区间,也有月度区间,而且可以进行转换,还是以上面例子,可以转换成月度区间,如下:
可以将时间戳转换为时间区间,通过to_period方法实现,如下:
以上就是本章重点内容,祝学习愉快
以下链接,可以供你了解这个系列学习笔记的所有章节最新进度
自学笔记系列:《利用Python 进行数据分析 第二版》 -写在开始之前