zoukankan      html  css  js  c++  java
  • 《利用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 进行数据分析 第二版》 -写在开始之前

  • 相关阅读:
    Spring Boot整合Freemarker
    Spring Boot异常处理
    CSAPP缓冲区溢出攻击实验(下)
    SparkSQL基础应用(1.3.1)
    程序员的自我修养:(1)目标文件
    CSAPP缓冲区溢出攻击实验(上)
    Redis源码学习:字符串
    六星经典CSAPP-笔记(7)加载与链接(上)
    Redis源码学习:Lua脚本
    六星经典CSAPP-笔记(10)系统IO
  • 原文地址:https://www.cnblogs.com/zhangjiyou/p/13624324.html
Copyright © 2011-2022 走看看