《利用Python进行数据分析》 11.2时间序列基础
2018-12-09 本文已影响14人
CCC考研
11.2 时间序列基础
图11-1:基础时间序列1.pandas中的基础时间序列种类是由时间戳索引的Series,在pandas外部则通常表示为Python字符串或datetime对象(见图11-1)
注:ts[::2]会将ts中每隔一个的元素选择出来
图11-2:时间戳的储存形式2.时间戳的储存形式(见图11-2)
注:所有使用datetime对象的地方都可以用Timestamp。此外,Timestamp还可以存储频率信息(如果有的话)并了解如何进行时区转换和其他类型操作
11.2.1 时间序列索引、选择、子集
1.基于标签索引选择
时间序列的行为和其他的pandas.Series类似(见图11-3)
图11-3:基于标签进行索引2.长时间序列的选择
对一个长的时间序列,可以传递一个年份或一个年份和月份来轻松地选择数据的切片(见图11-4、11-5)
图11-4:长时间序列按年切片 图11-5:长时间序列按月份切片图11-6:使用Datetime对象进行切片选择3.使用datetime对象进行切片选择(见图11-6)
图11-7:使用时间戳切片4.使用不包含在时间序列中的时间戳进行切片,以执行范围查询(见图11-7)
注:可以传递一个字符串的日期、datetime对象或者时间戳来进行切片,请记住通过这种方式的切片产生了原时间序列的视图,类似于NumPy的数组。这意味着没有数据被复制,并且在切片上的修改会反映在原始数据上。
图11-8:truncate切片方法5.使用truncate方法,在两个日期间对Series进行切片(见图11-8)
图11-9:DataFrome 上进行操作6.对DataFrame对象进行操作,并在其行上进行索引(见图11-9)
11.2.2 含有重复索引的时间序列索引
图11-9:多个数据观察值落在特定的时间戳上1.多个数据观察值落在特定的时间戳上(见图11-9)
2.聚合含有非唯一时间戳的数据
方法:使用groupby并传递level=0(见图11-10)
图11-10:聚合含有非唯一值得时间戳数据