第10章 时间序列

不管在哪个领域中(如金融学、经济学、生态学、神经科学、物理学等),时间序列(time series)数据都是一种重要的结构化数据形式。在多个时间点观察或测量到的任何事物都可以形成一段时间序列。很多时间序列是固定频率的,也就是说,数据点是根据某种规律定期出现的(比如每15秒、每5分钟、每月出现一次)。时间序列也可以是不定期的。时间序列数据的意义取决于具体的应用场景,主要有以下几种:

·时间戳(timestamp),特定的时刻。

·固定时期(period),如2007年1月或2010年全年。

·时间间隔(interval),由起始和结束时间戳表示。时期(period)可以被看做间隔(interval)的特例。

·实验或过程时间,每个时间点都是相对于特定起始时间的一个度量。例如,从放入烤箱时起,每秒钟饼干的直径。

本章主要讲解前3种时间序列。许多技术都可用于处理实验型时间序列,其索引可能是一个整数或浮点数(表示从实验开始算起已经过去的时间)。最简单也最常见的时间序列都是用时间戳进行索引的。

pandas提供了一组标准的时间序列处理工具和数据算法。因此,你可以高效处理非常大的时间序列,轻松地进行切片/切块、聚合、对定期/不定期的时间序列进行重采样等。可能你已经猜到了,这些工具中大部分都对金融和经济数据尤为有用,但你当然也可以用它们来分析服务器日志数据。

注意:本章中部分功能和代码(比如处理时期的那些)用到了已经停止更新的scikits.timeseries库。译注1

译注1:没找到2.7的,但是网上好像有人用了。