一、时间序列基础
1. 时间戳索引DatetimeIndex
生成20个DatetimeIndex
from datetime import datetime
dates = pd.date_range(start='2019-04-01',periods=20)
dates
用这20个索引作为ts的索引
ts = pd.Series(np.random.randn(20),index=dates)
ts
不同索引的时间序列之间的算术运算在日期上自动对齐
ts + ts[::2]
pandas使用numpy的datetime64数据类型在纳秒级的分辨率下存储时间戳
ts.index.dtype
DatetimeIndex中的标量值是pandas的Timestamp对象
stamp =ts.index[0]
stamp
2. 索引、选择
(1) 索引
ts是一个series;stamp是索引为2的时间戳,Timestamp('2019-04-03 00:00:00', freq='D')
stamp =ts.index[2]
ts[stamp]
为了方便,可以传递一个能解释为日期的字符串
(2) 选择
[1]对于长的时间序列,可以传递一个年份或一个年份和月份来选择数据的切片
longer_ts = pd.Series(np.random.randn(10),index=pd.date_range('4/1/2019',periods=10))
longer_ts
选择2019年4月份的所有数据
longer_ts.loc['2019-4']#可以写成'2019/04',不能写成'201904'
选择2019年的所有数据
longer_ts['2019']
[2]选择一段时间内的数据
ts[datetime(2019,1,1):]
ts['1/4/2019':'4/10/2019']
truncate也可以实现在两个日期间对Series进行切片
ts.truncate(after='4/3/2019')