数据分析pandas时间数据索引

匿名 (未验证) 提交于 2019-12-02 23:42:01
  • 基本类型,以时间戳为索引的Series -> DatetimeIndex(以datetime为索引)
  • 创建
  1. 指定index为datetime的list
  2. 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)  //数据前移
文章来源: https://blog.csdn.net/disasters/article/details/91954226
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!