EduCoder Pandas高效化运算与时间序列处理 第3关:Pandas时间序列的高级应用


任务描述

根据相关知识完成下列任务:

  • 求上个季度(仅含工作日)的平均值;
  • 求每个月末(仅含工作日)的收盘价;
  • 迁移数据365天;
  • 求一年期移动标准差。

相关知识

学习本关卡知识之前,建议先了解matplotlib模块基础知识。
Pandas时间序列工具的基础是时间频率或偏移量代码。就像之前见过的D(day)H(hour)代码,我们可以用这些代码设置任意需要的时间间隔。
Pandas频率代码表如下:

代码 描述
D 天(calendar day,按日历算,含双休日)
W 周(weekly) M 月末(month end)
Q 季末(quarter end)
A 年末(year end)
H 小时(hours)
T 分钟(minutes)
S 秒(seconds)
L 毫秒(milliseonds)
U 微秒(microseconds)
N 纳秒(nanoseconds)
B 天(business day,仅含工作日)
BM 月末(business month end,仅含工作日)
BQ 季末(business quarter end,仅含工作日)
BA 年末(business year end,仅含工作日)
BH 小时(business hours,工作时间)
MS 月初(month start)
BMS 月初(business month start,仅含工作日)
QS 季初(quarter start)
BQS 季初(business quarter start,仅含工作日)
AS 年初(year start)
BAS 年初(business year start,仅含工作日)
时间频率与偏移量

我们可以在频率代码后面加三位月份缩写字母来改变季、年频率的开始时间,也可以再后面加三位星期缩写字母来改变一周的开始时间:

  • Q-JANBQ-FEBQS-MARBQS-APR 等;
  • W-SUNW-MONW-TUEW-WED 等。
    时间频率组合使用:
In[0]:pd.timedelta_range(0,periods=9,freq="2H30T")
Out[0]:TimedeltaIndex(['00:00:00', '02:30:00', '05:00:00', '07:30:00', '10:00:00', '12:30:00', '15:00:00', '17:30:00', '20:00:00'], dtype='timedelta64[ns]', freq='150T')

所有这些频率代码都对应Pandas时间序列的偏移量,具体内容可以在 pd.tseries.offsets模块中找到,比如直接创建一个工作日偏移序列:

In[1]from pandas.tseries.offsets import BDay
       pd.date_range('2015-07-01', periods=5, freq=BDay())
Out[1]:DatetimeIndex(['2015-07-01', '2015-07-02', '2015-07-03', '2015-07-06', '2015-07-07'], dtype='datetime64[ns]', freq='B')
重新取样、迁移和窗口
重新取样

处理时间序列数据时,经常需要按照新的频率(更高频率、更低频率)对数据进行重新取样。举个例子,首先通过pandas—datareader程序包(需要手动安装)导入Google的历史股票价格,只获取它的收盘价:

In[2]from pandas_datareader import data
        goog = data.DataReader('GOOG',start="2014",end="2016",data_source="google")['Close']   # Close表示收盘价的列
In[3]
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值