- 基本类型,以时间戳为索引的Series -> DatetimeIndex(以datetime为索引)
- 创建
- 指定index为datetime的list
- pd.date_range()
//创建 import numpy as np #指定index为datetime的list 1. date_list = [datetime(2017,2,18),datetime(2017,2,19),datetime(2017,2,23),datetime(2017,2,24),datetime(2017,3,3),datetime(2017,3,4)] time_s = pd.Series(np.random.randn(6), index=date_list) print(time_s) print(type(time_s.index)) 2. dates = pd.date_range('2017-02-18', #起始日期 periods=5, #周期 freq= 'W-SAT' #频率 ) print(dates) print(pd.Series(np.random.randn(5), index=dates))
- 索引
#索引位置 print(time_s[0]) # 索引值 print(time_s[datetime(2017, 2, 18)]) # 可以被解析的日期字符串 print(time_s['2017/02/18']) # 按'年份'、'月份'索引 print(time_s['2017-2']) # 切片操作 print(time_s['2017-2-26':])
- 过滤
//过滤 time_s.truncate(before='2017-2-25') time_s.truncate(after='2017-2-25')
- 生成日期范围
# 传入开始、结束日期,默认生成的该时间段的时间点时按天计算的 date_index = pd.date_range('2017/02/18', '2017/03/18', freq='2D') print(date_index) #只传入开始或结束日期,还需传入时间段 print(pd.date_range(start='2017/02/18', periods=10)) print(pd.date_range(end='2017/02/18', periods=10))
- 移动数据(shifting)
沿时间轴将数据前移或后移,保持索引不变
ts = pd.Series(np.random.randn(5), index = pd.date_range('2017/02/18', periods=5, freq='W-SAT')) print(ts.shift(1)) //数据后移 print(ts.shift(-1) //数据前移
转载请标明出处:数据分析pandas时间数据索引
文章来源: https://blog.csdn.net/disasters/article/details/91954226