pandas中的基础时间序列种类是由时间戳索引的Series,在pandas外部则通常表示为Python字符串或datetime对象:
在这种情况下,这些datetime对象可以被放入DatetimeIndex中:
和其他Series类似,不同索引的时间序列之间的算术运算在日期上自动对齐:
ts[::2]会将ts中每隔一个的元素选择出。
pandas使用NumPy的datetime64数据类型在纳秒级的分辨率下存储时间戳:
DatetimeIndex中的标量值是pandas的Timestamp对象:
所有使用datetime对象的地方都可以用Timestamp。此外,Timestamp还可以存储频率信息(如果有的话)并了解如何进行时区转换和其他类型操作。
当基于标签进行索引和选择时,时间序列的行为和其他的pandas.Series类似:
对一个长的时间序列,可以传递一个年份或一个年份和月份来轻松地选择数据的切片:
这里,字符串’2001’被解释为一个年份,并选择了相应的时间区间。如果指定了月份也是有效的:
使用datetime对象进行切片也是可以的:
有一个等价实例方法,truncate,它可以在两个日期间对Series进行切片:
上面这些操作也都适用于DataFrame,并在其行上进行索引:
在某些应用中,可能会有多个数据观察值落在特定的时间戳上。
通过检查索引的is_unique属性,我们可以看出索引并不是唯一的:
假设想要聚合含有非唯一时间戳的数据。一种方式就是使用groupby并传递level=0: