美文网首页程序员呆鸟的Python数据分析码农的世界
小蛇学python(17)时间序列的数据处理

小蛇学python(17)时间序列的数据处理

作者: 跌跌撞撞小红豆 | 来源:发表于2018-07-13 10:18 被阅读213次

不管是在金融学、经济学的社会学科领域,还是生态学、系统神经的自然学科领域,时间序列数据都是一种重要的结构化数据形式。

jupyter notebook在pycharm中的使用

我也是最近无意中才发现,jupyter notebook可以在pycharm中使用的。在写教学文档方面,因为jupyter有着像命令行一样即时输出的特点,比建立工程运行的方式要方便许多。将这个小功能推荐给大家,也建议大家在学习python的时候多用用jupyter。

基础

image.png

从这个小例子也可以看出jupyter notebook的好处,非常适合新手学习python的时候使用。同时这个例子也是最基础的时间序列类型。

datetime以毫秒形式存储日期和时间,两个日期相减得到所差毫秒数,同时也可以换算成天数和小时数。

image.png

在日常生活中,时间通常是以字符串的形式保存的,python中也提供了字符串和datetime相互转换的方法。

image.png

以下是常用的格式化编码。

代码 说明
%Y 4位数的年
%y 2位数的年
%m 2位数的月
%d 2位数的日
%H 24小时制的时
%I 12小时制的时
%M 2位数的分
%S 秒[0, 61], 60、61用于闰秒
%w 用整数表示的星期几

通过已知格式对日期进行解析当然最准确的做法,但是这种做法过于准确而显得比较麻烦。这种情况下,可以这样做。

image.png

从上图可以看出,parse解析器的功能相当强大,很多格式随意的时间字符串都可以解析成正确的时间。当然,遗憾的是,中文不可以。

下面我们来建立一个时间序列的数据集。

image.png

然后我们开始学习如何索引、选取、以及构造子集。

image.png

一门语言有一门语言的特色,其实pandas、numpy、还有现在学习的时间序列,它们对数据的索引选取都是大同小异的。只要掌握其中一个,其他包的索引基本也就都会了。

这一点在不同包的函数命名上也有所体现。细心的朋友可以发现,我并没有介绍data_range()这个函数,其实它和numpy中的range()是一样的,只有一些细节,参数会有变化。

比如。

image.png

freq这个参数可以决定取样的类型,BM就代表取每个月的最后一天。怎么说呢,越用越感觉到python的完善与强大。freq这个参数可以选择的类型有很多。如下是我经常用到总结下来的。

代码 说明
D
B 工作日
H
T
S
L 毫秒
U 微秒
BM 每月最后一个工作日

移动与滞后数据也是一个很常见的操作。

image.png

重采样、频率转换

上面介绍了一些有关时间序列的基础操作,接下来介绍一些进阶内容。
在做实验的时候,我们最常涉及的就是采样。

image.png image.png image.png

我们发现这段程序所实现的功能是,每五分钟采样,并将该五分钟内的值求和赋给新采样的频率。

以上是降采样,升采样是一样的,只不过可能会有一些插值操作,这里不予介绍。

相关文章

  • 小蛇学python(17)时间序列的数据处理

    不管是在金融学、经济学的社会学科领域,还是生态学、系统神经的自然学科领域,时间序列数据都是一种重要的结构化数据形式...

  • Python 进行常见序列处理

    前言:Python强大的脚本功能为生物信息学数据处理提供了巨大的帮助,本文介绍python在序列处理中的一点点小知...

  • 学Python的009天

    原创:XIAO油菜花学习进度记录:《零基础入门学习Python》P17:序列!序列!《Python开发入门与爬虫项...

  • 时间序列数据处理

    1.时间戳timestamppandas.Timestamp 2.时间索引DatetimeIndexpd.to_d...

  • 小蛇学python(1)前言

    前言 前言之前的前言 最近朋友圈被python刷了屏,无论是同学,还是运营,文案,甚至连微商们都立下了好好学pyt...

  • Python数据分析与机器学习44-Python生成时间序列

    一. Python 生成时间序列 时间序列 时间戳(timestamp) 固定周期(period) 时间间隔(in...

  • python入门学习的六个阶段,学完直接进阶

    python这门语言逐渐成为了大家的焦点,很多人都在网上寻找教程,或者问python怎么学?如何学?像是数据处理、...

  • 时间序列 in python

    1.什么是时间序列数据? 时间序列数据就是一系列数据,这些数据点,每一个都被分配了一个时间戳。 一个简单的例子就是...

  • pandas时间序列数据处理

    一、时间格式转换 有时候,我们获得的原始数据并不是按照时间类型索引进行排列的,需要先进行时间格式的转换,为后续的操...

  • 小蛇学python(19)装饰器

    python的装饰器是python的特色高级功能之一,言简意赅得说,其作用是在不改变其原有函数和类的定义的基础上,...

网友评论

    本文标题:小蛇学python(17)时间序列的数据处理

    本文链接:https://www.haomeiwen.com/subject/gofjpftx.html