《利用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 进行数据分析 第二版》 -写在开始之前

 

posted @ 2020-09-12 16:11  诡刺-ThornSoul  阅读(219)  评论(0编辑  收藏  举报