Python数据分析基础(八)——时间序列

时间序列数据是一种重要的结构化数据形式。


datetime模块中的数据类型

类型 说明
date 以公历形式存储日历日期(年、月、日)
time 将时间存储为时、分、秒、毫秒
datetime 存储日期和时间
timedelta 表示两个datetime值之间的差(日、秒、毫秒)


datettime格式定义

代码 说明
%Y 4位数的年
%y 2位数的年
%m 2位数的月[01, 12]
%d 2位数的日[01, 31]
%H 时(24小时制)[00, 23]
%I 时(12小时制)[01, 12]
%M 2位数的分[00, 59]
%S 秒00, 61
%w 用整数表示的星期几[0(星期天), 6]
%U 每年的第几周[00, 53],星期天被认为是每周的第一天
%W 每年的第几周[00, 53],星期一被认为是每周的第一天
%z 以+HHMM或-HHMM表示的UTC时区偏移量
%F %Y-%m-%d简写形式
%D %m/%d/%y简写形式


特定于当前环境的日期格式

代码 说明
%a 星期几的简写
%A 星期几的全称
%b 月份的简写
%B 月份的全称
%c 完整的日期和时间
%p 不同环境中的AM或PM
%x 适合于当前环境的日期格式
%X 适合于当前环境的时间格式


时间序列的基础频率

别名 偏移量类型 说明
D Day 每日日历
B BusinessDay 每工作日
H Hour 每小时
T或min Minute 每分
S Second 每秒
L或ms Milli 每毫秒
U Micro 每微秒
M MonthEnd 每月最后一个日历日
BM BusinessMonthEnd 每月最后一个工作日
MS MonthBegin 每月第一个日历日
BMS BusinessMonthBegin 每月第一个工作日
W-MON、W-TUE Week 从指定的星期几(MON、TUE、WED、THU、FRI、SAT、SUN)开始算起,每周
WOM-1MON、WOM-2MON WeekOfMonth 产生每月第一、第二、第三或第四周的星期几
Q-JAN、Q-FEB QuarterEnd 对于以指定月份(JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC)结束的年度,每季度最后一月的最后一个日历日
BQ-JAN、BQ-FEB BusinessQuarterEnd 对于以指定月份结束的年度,每季度最后一月的最后一个工作日
QS-JAN、QS-FEB QuarterBeging 对于以指定月份结束的年度,每季度最后一月的第一个日历日
BQS-JAN、BQS-FEB BusinessQuarterBegin 对于以指定月份结束的年度,每季度最后一月的第一个工作日
A-JAN、A-FEB YearEnd 每年指定月份的最后一个日历日
BA-JAV、BA-FEB BusinessYearEnd 每年指定月份的最后一个工作日
AS-JAN、AS-FEB YearBegin 每年指定月份的第一个日历日
BAS-JAV、BAS-FEB BusinessYearBegin 每年指定月份的第一个工作日


resample方法的参数

参数 说明
freq 表示重采样频率的字符串或DateOffset,例如'M'、'5min'或Second(15)
how='mean' 用于产生聚合值的函数名或数组函数,例如'mean'、'ohlc'、np.max等。默认为'mean',其他常用的值有:'first'、'last'、'median'、'ohlc'、'max'、'min'。
axis=0 重采样的轴,默认为axis=0
fill_method=None 升采样时如何插值,比如'ffill'或'bfill'。默认不插值
closed='right' 在降采样中,各时间段的哪一端是闭合(即包含)的,'right'或'left',默认为'right'
label='right' 在降采样中,如何设置聚合值的标签,'right'或'left'(面元的右边界或左边界),默认为'right'
loffset=None 面元标签的时间校正值,比如'-1s'/Second(-1)用于将聚合标签调早1秒
limit=None 在前向或后向填充时,允许填充的最大时期数
kind=None 聚合到时期('period')或时间戳('timestamp'),默认聚合到时间序列的索引类型
convention=None 当重采样时期时,将低频率转换到高频率所采用的约定('start'或'end'),默认为'end'


移动窗口和指数加权函数

函数 说明
rolling_count 返回各窗口非NA观测值的数量
rolling_sum 移动窗口的和
rolling_mean 移动窗口的平均数
rolling_median 移动窗口的中位数
rolling_var、rolling_std 移动窗口的方差和标准差。分母为n-1
rolling_skew、rolling_kurt 移到窗口的偏度(三阶矩)和峰度(四阶矩)
rolling_min、rolling_max 移动窗口的最小值和最大值
rolling_quantile 移动窗口指定百分位数/样本分位数位置的值
rolling_corr、rolling_cov 移动窗口的相关系数和协方差
rolling_apply 对移动窗口应用普通数组函数
ewma 指数加权移动平均
ewmvar、evmstd 指数加权移动方差和标准差
ewmcorr、ewmcov 指数加权移动相关系数和协方差



参考文献:

利用Python进行数据分析.    Wes McKinney.    唐学韬译

你可能感兴趣的:(Python)