日期
接下来,会有日期的范围和频率与移动的内容。
日期范围
使用pandas模块的date.range() 函数可以创建指定 长度的datetimeindex索引。
index = pd.date_range('2019/4/1', '2019/5/10')
上面的两个参数是开始和结束Dev 时间,时间戳的间距默认是一天。这个肯定是可以改的——freq。下面演示用月作为间隔。
index = pd.date_range('2018/4/1', '2019/5/10', freq='M')
index
指定开始日期和长度,可以新建一个时间段。
pd.date_range(end='2019/5/6', periods=10)
可以加上时分秒。
pd.date_range(start='2018/5/8 16:12:13', periods=10)
使时间段变得规范化。
pd.date_range(start='2018/5/8 16:12:13', periods=10, normalize=True)
频率
指定4H为频率创建DataFrame对象。
pd.date_range(start='2018/4/1', periods=10, freq='4H')
还可以创建更加详细的freq参数。
pd.date_range(start='2018/4/1', periods=10, freq='4H10min10s')
时间序列的基础频率对照表i:
名称 | 说明 |
---|---|
D | 日历日 |
B | 工作日 |
H | 小时 |
T | 分钟 |
min | 分钟 |
S | 秒 |
M | 每月的最后一个日历日 |
BM | 每月的最后一个工作日 |
A-JAN | 每年指定月份的最后一个日历日 |
A-FEB | 每年指定月份的最后一个日历日 |
移动
通过shift() 可以沿着时间索引向前或者向后移动。
新建Series对象。
date4 = pd.date_range('2018/5/7', periods=5)
s = pd.Series(np.arange(5), index=date4)
1. 向前
2. 向后
上面两个前后移动,不会修改索引但是会丢失某些数据。如果在移动时,加入freq参数就可以避免丢失。