1. 时间序列分析概述

时间序列分析在金融、气象、交通、宏观经济等诸多领域的应用可以说是非常的广泛。简单点说,时间序列就是在各个时间点上形成的数值序列,而分析的过程就是通过这些数值序列去研究其自身的变化规律。

时间序列通常使用 pandas 中的 series 结构(一个时间点对应一个数值数据)或者 dataframe 结构(一个时间点对应多个数值数据)来表示,和 series 和 dataframe 结构本质上是一样的,唯一一个重要的不同就是,他的索引数据是时间类型的。

时间类型的数据作为一种特殊的数据形式,和一般的数值类型或者字符串类型相比,要多了不少的讲究。因此首先我们专门来介绍如何在 python 中对日期和时间的进行表示,这也是后续时间序列分析的基础。

我们先从 python 标准库与第三方库入手,介绍其中的日期、时间、时间增量和时间跨度的表示工具。当然了,说实话其实 pandas 中提供的时间序列工具更适合用来进行相关问题的处理,但是我想从标准库入手,可以帮助我们去搞清楚整个问题的来龙去脉,对我们更好的理解问题和使用工具将大有裨益。

2. 原生工具:datetime 和 dateutil

首先,我们第一个要介绍的就是 python 中的原生工具:datetime 与 dateutil。

datetime 是 python 中的标准库,最基本的日期和时间功能都包含在其中了。而 dateutil 是一个强大的第三方库,如果将二者搭配进行使用,可以收到奇效,方便快捷的解决诸多问题。

2.1 日期的创建

首先我们来利用 datetime 类型来创建一个日期。

代码片段:

from datetime import datetime

date = datetime(year=2019, month=5, day=2)

print(date)

运行结果:

2019-05-02 00:00:00

这样我们就成功的生成了第一个日期类型的对象了。

2.2 文本日期的自动解析

这里有同学一定会问了,我们用来进行 datetime 对象初始化的参数一般都是从数据源(数据表格、网站)上获取的文本形式的日期类数据,一般情况下会有很多种不同的写法,比如,2019 年 5 月 2 日,常见的就可以写成:2019-5-2,5/2/2019,等等,种类非常繁多,那我们如何将他们转换成datetime初始化所需要的年月日标准形式呢?

不用着急,其实这个工作都不需要我们自己动手去做,我们刚刚提到过的第三方库 dateutil 就能够帮我们实现这一切,他能够对绝大多数字符串格式的日期进行正确的解析,从而帮助我们正确的生成 datetime 数据类型,我们就试试上面列举的:2019-5-2,5/2/2019,2019/5/2 这几种日期表达方式的解析。

代码片段:

from datetime import datetime

from dateutil import parser

sdate1 = '2019-5-2'

sdate2 = '5/2/2019'

sdate3 = '2019/5/2'

date1 = parser.parse(sdate1)

date2 = parser.parse(sdate2)

date3 = parser.parse(sdate3)

print(date1)

print(date2)

print(date3)

运行结果:

2019-05-02 00:00:00

2019-05-02 00:00:00

2019-05-02 00:00:00

从程序运行的结果来看,我们利用 dateutil 工具对几种常见的日期类型字符串做了转换,得到了正确的结果,这个会在许多应用场景中提高我们的工作效率。

2.3 提取日期中的要素信息

首先我们来看看一个经常用到的案例:获取当前日期时间的用法。

代码片段:

from datetime import datetime

from dateutil import parser

date = datetime.now()

print(date)

运行结果:

2019-05-02 12:23:42.571834

这时,我们再来思考一下,这里程序最终输出的格式是 2019-05-02 12:23:42.571834,存在着两方面的问题:

第一是:输出的是千篇一律的固定统一格式;

第二是:都到了秒以后的微秒级的时间精度了。

python时间序列分析按月_利用 Python 进行时间序列分析相关推荐

  1. python对excel数据更改_利用python对excel中一列的时间数据更改格式代码示例

    本篇文章小编给大家分享一下利用python对excel中一列的时间数据更改格式代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 问题场景:需要将 ...

  2. python连接linux堡垒机_利用Python Paramiko开发linux堡垒机

    1.Paramiko模块下的demo.py程序 前面利用Python中的Paramiko模块可以进行SSH的连接,以及用来传送文件(SFTP),但是无论是哪一种方式,连接都是短暂的,并非是长连的,即一 ...

  3. 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...

    数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...

  4. python 打卡记录代码_利用Python实现对考勤打卡数据处理的总结

    利用Python实现对考勤打卡数据处理的总结 一.背景交代 二.说明 三. 8种方法 1. 查看文件是否存在 2. 导入excel文件,并把数据保存为dataframe格式 3. 计算程序运行时间 4 ...

  5. python画圣诞老人简笔画_利用Python绘制有趣的万圣节南瓜怪效果

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日;而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...

  6. python用户输入列表有缺陷_利用Python对Jira缺陷进行管理操作

    转自:51testing 1.1.概要 本文主要内容是教大家学习如何利用Python对Jira缺陷进行管理操作. 在平时的测试中,大家对于缺陷管理平台一定不陌生,平时的缺陷都要去平台进行操作.今天我们 ...

  7. python经纬度获取县名_利用 Python 批量获取县镇运输距离

    起因 最近做规划项目,领导让查出某几个市的所有乡镇级行政区域,距离所在县级行政中心的交通运输距离.想着也不是啥难事儿,高德地图一搜就有. 当我把各市行政区划统计完,发现一共有五百多个乡镇,意味着要在地 ...

  8. python数据对比找不同_利用Python读取文件的四种不同方法比对

    利用Python读取文件的四种不同方法比对 大家都知道Python 读文件的方式多种多样,但是当需要读取一个大文件的时候,不同的读取方式会有不一样的效果.下面就来看看详细的介绍吧. 场景 逐行读取一个 ...

  9. python 翻译库本地库_利用python爬取并翻译GEO数据库

    原标题:利用python爬取并翻译GEO数据库 GEO数据库是NCBI创建并维护的基因表达数据库,始于2000年,收录了世界各国研究机构提交的高通量基因表达数据,现芯片集数据量高达12万以上.想要从这 ...

最新文章

  1. 社区发现算法 - Fast Unfolding(Louvian)算法初探
  2. 网站增改不要只想着收益更应该思考原有的损失
  3. python在哪里写程序和运行-Python程序的编写和运行方式有两种()
  4. Spring 事务基于注解和xml方式
  5. 3DSlicer10:体系结构1
  6. django mysql connector_MySQL Connector / Python作为Django引擎?
  7. java jsonp_java结合使用Jsonp的例子
  8. 总结一年来的前端学习心得
  9. linux系统管理学习笔记之八---linux文件与目录的管理及权限
  10. 跳出公式,看清全局,图神经网络(GCN)原理详解
  11. 苹果计算机 win10,图文教程!苹果电脑和WIN10的完美融合井井有条的美
  12. 《Spring Cloud微服务实战》翟永超(著)
  13. Python数据可视化Matplotlib学习
  14. CGCS2000/WGS84/ITRF关系
  15. zxing生成带logo的二维码
  16. [VB.NET]浅谈MDI窗体的多窗体编程
  17. 一千年的沉睡作者深秋葉蕭蕭
  18. 电动推杆复位程序c语言,程序中怎样区别是热复位还是冷复位?
  19. UI自动化测试AutoIT工具使用
  20. Scard API 智能卡操作

热门文章

  1. 数字心理学测试软件,数字心理学——简化问题的工具
  2. 医保异地报销攻略,全国轻松刷卡就医
  3. 故障特效AE视频模板 Modern Glitch Intro
  4. 通过关键字获取JD商品列表API接口
  5. css背景图片(第五次课)
  6. Anaconda安装错误
  7. 教师和计算机平面设计图谁更好一些,平面设计计算机论文,关于计算机平面设计课程教学策略对中职生就业的作用和意义相关参考文献资料-免费论文范文...
  8. 2021年低压电工免费试题及低压电工模拟考试系统
  9. 尴尬!买了几台华为路由器却不会配置~看完就会了
  10. React Native 之组件的定义