有关时间序列

时间序列

datetime模块

datetime存储日期,也存储细化到微秒的时间,timedelta为两个datetime对象的时间差。
例:
有关时间序列_第1张图片
有关时间序列_第2张图片

字符串与datetime互相转换

strftime方法:timestamp转换为字符串。
在这里插入图片描述
strptime方法:字符串转换为日期类型,datetime.strptime(str,格式)
在这里插入图片描述

dateutil.parser.parse方法:能解析大部分人类可理解的日期字符串,转化为日期类型。
有关时间序列_第3张图片
dayfirst参数等于True表明字符串中日出现在月之前。

datetime格式说明:

类型 描述
%Y 四位的年份
%y 两位的年份
%m 两位的月份
%d l两位的日期号
%H 小时,24小时制
%I 小时,12小时制
%M 两位分钟
%S 两位秒
%w 星期几(0(星期天)-6)

DatetimeIndex

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

传递一个能解释为日期的字符串:
有关时间序列_第4张图片
有关时间序列_第5张图片

有关时间序列_第6张图片
有关时间序列_第7张图片
切片:
有关时间序列_第8张图片
有关时间序列_第9张图片
含有重复索引时间序列分组
groupby方法默认axis=0,对行分组,level默认为None,若要按索引进行分组,传递对应层号或层名值给level参数;如groupby(level=0):
有关时间序列_第10张图片

date_range:

pandas.date_range用于根据特定频率(默认为day)生成指定长度的Datetimeindex;需要指定起始和结尾日期,若只传递一个起始或结尾日期,必须传递范围:

有关时间序列_第11张图片

常用基础时间序列频率

别名 描述
D 日历日的每天
B 工作日的每天
H 每小时
T或min 每分钟
S 每秒
L或ms 每毫秒(1/1000秒)
U 每微秒(1/1000000秒)
M 日历日的月底日期
BM 工作日的月底日期
MS 日历日的月初日期
BMS 工作日的月初日期
W-MON,W-TUE,… 每周的星期一,二…
WOM-MON,WOM-2MON,… 每月的第一个星期一,每月的第二个星期一
Q-JAN,Q-FEB,… 以指定月份为每年的结束月,取每个季度最后一个月的日历日的月底日期
BQ-JAN,BQ-FEB… 以指定月份为每年的结束月,取每个季度最后一个月的工作日的月底日期
QS-JAN,QS-FEB… 以指定月份为每年的结束月,取每个季度最后一个月的日历日的月初日期
BQS-JAN,BQS-FEB… 以指定月份为每年的结束月,取每个季度最后一个月的工作日的月初日期
A-JAN,A-FEB… 以指定月份为每年的结束月,取每年指定月份的日历日的月底日期
BA-JAN,BA-FEB… 以指定月份为每年的结束月,取每年指定月份的工作日的月底日期
BAS-JAN,BAS-FEB 以指定月份为每年的结束月,取每年指定月份的工作日的月初日期

标准化为零点的时间戳:date_range的参数normalize=True
日期偏置:如4h,1h30min等

移位日期

shift
不指定频率,只移动数据,索引不变,会产生缺失值;指定频率则数据不变,索引移动。
有关时间序列_第12张图片

时间区间

时间区间表示的是时间范围,如一些天,一些月,一些季度,一些年。Period类就是这种数据类型。

pd.Period_range

需传入一个字符串或数字以及频率;相关频率与时间戳的有些区别:

A
M
D
H
T
S

有关时间序列_第13张图片
有关时间序列_第14张图片

区间频率转换

asfreq可以讲区间PeriodPeriodIndex对象转换为其他频率。how=‘start’or’s’,取开始的日期,'end’or’e’取结束的日期;例:
在这里插入图片描述

区间算术

在时间段上增加或减去整数根据它们的频率进行移位
在这里插入图片描述
有关时间序列_第15张图片

将时间戳转换为区间,将区间转换为时间戳

to_period():不指定频率的情况下,根据时间戳推断出新PeriodIndex的频率。可指定任意频率。
有关时间序列_第16张图片

to_timestamp()
有关时间序列_第17张图片

从数组生成PeriodIndex

有关时间序列_第18张图片

重采样与频率转换

高频率频率到低频率为向下采样,聚合数据;低频率转换到高频率为向上采样,产生缺失值;其他情况为非向上、向下取样。
pandas对象resample方法:类似于groupby,对数据分组,再调用聚合函数。
resample参数:

参数 描述
freq 采样频率
fill_method 向上采样时的插值方式,‘ffill’或’bfill’;默认不插值。
closed 向下采样中,每段区间的哪一段是封闭的
label 向下采样中,使用哪段标记聚合结果
limit 前向或后向填充区间最大值
kind 对区间或时间戳的聚合,默认为时间序列索引类型
convention 将低频转为高频,‘s’or’e’,默认为’end’,仅使用periodindex,表示使用开头还是结尾

向下采样

有关时间序列_第19张图片
有关时间序列_第20张图片
有关时间序列_第21张图片
resample.ohlc():ohlc聚合函数返回开端,结束,峰值、谷值。
有关时间序列_第22张图片

向上采样

有关时间序列_第23张图片

移动窗口

rolling滚动函数传入区间大小,min_periods参数指定每个窗口至少需要多少个数据。例:
有关时间序列_第24张图片
有关时间序列_第25张图片

你可能感兴趣的:(有关时间序列)