《利用Python进行数据分析》 11.2时间序列基础

11.2 时间序列基础


1.pandas中的基础时间序列种类是由时间戳索引的Series,在pandas外部则通常表示为Python字符串或datetime对象(见图11-1)

15259227-66edf0209e2892ee.png
图11-1:基础时间序列

:ts[::2]会将ts中每隔一个的元素选择出来

2.时间戳的储存形式(见图11-2)

15259227-5979b7bdda00327c.png
图11-2:时间戳的储存形式

:所有使用datetime对象的地方都可以用Timestamp。此外,Timestamp还可以存储频率信息(如果有的话)并了解如何进行时区转换和其他类型操作


11.2.1 时间序列索引、选择、子集


1.基于标签索引选择

时间序列的行为和其他的pandas.Series类似(见图11-3)

15259227-744ff038339e3b47.png
图11-3:基于标签进行索引

2.长时间序列的选择

对一个长的时间序列,可以传递一个年份或一个年份和月份来轻松地选择数据的切片(见图11-4、11-5)

15259227-ca51d8420d1e55a6.png
图11-4:长时间序列按年切片
15259227-2d71b09e430732df.png
图11-5:长时间序列按月份切片

3.使用datetime对象进行切片选择(见图11-6)

15259227-bbd94faa7d713179.png
图11-6:使用Datetime对象进行切片选择

4.使用不包含在时间序列中的时间戳进行切片,以执行范围查询(见图11-7)

15259227-6a2b7da14cb52a33.png
图11-7:使用时间戳切片

:可以传递一个字符串的日期、datetime对象或者时间戳来进行切片,请记住通过这种方式的切片产生了原时间序列的视图,类似于NumPy的数组。这意味着没有数据被复制,并且在切片上的修改会反映在原始数据上。

5.使用truncate方法,在两个日期间对Series进行切片(见图11-8)

15259227-28b4770abe961846.png
图11-8:truncate切片方法

6.对DataFrame对象进行操作,并在其行上进行索引(见图11-9)

15259227-c6a4fb41a50e2b7f.png
图11-9:DataFrome 上进行操作

11.2.2 含有重复索引的时间序列索引


1.多个数据观察值落在特定的时间戳上(见图11-9)

15259227-20c0d5f799372ec3.png
图11-9:多个数据观察值落在特定的时间戳上

2.聚合含有非唯一时间戳的数据

方法:使用groupby并传递level=0(见图11-10)

15259227-18b9af7c93d76f30.png
图11-10:聚合含有非唯一值得时间戳数据

猜你喜欢

转载自blog.csdn.net/weixin_33898876/article/details/87231593