加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

Pandas必备技能之“时间序列数据处理”

发布时间:2019-06-13 01:40:55 所属栏目:教程 来源:Little monster翻译整理
导读:时间序列数据Time Series Data是在不同时间上收集到的数据,这类数据是按时间顺序收集到的,用于所描述现象随时间变化的情况。 时间序列分析广泛应用于计量经济学模型中,通过寻找历史数据中某一现象的发展规律,对未来进行预测。 时间序列数据作为时间序

还有一个常用的窗口函数是expanding,每增加一行数据,窗口会相应的增大。比如,我们想计算某只股票每天的累计涨跌幅,就可以调用此函数。

  1. df = df[['ts_code', 'pct_chg']]  # 列pct_chg单位是(%) 
  2.  
  3. Out[71]:  
  4.               ts_code  pct_chg 
  5. trade_date                     
  6. 2018-07-02  000001.SZ    -5.28 
  7. 2018-07-03  000001.SZ     0.70 
  8. 2018-07-04  000001.SZ    -0.69 
  9. 2018-07-05  000001.SZ    -0.12 
  10. 2018-07-06  000001.SZ     0.70 
  11. 2018-07-09  000001.SZ     4.27 
  12. 2018-07-10  000001.SZ    -0.55 
  13. 2018-07-11  000001.SZ    -2.23 
  14. 2018-07-12  000001.SZ     2.78 
  15. 2018-07-13  000001.SZ     0.00 
  16. 2018-07-16  000001.SZ    -1.69 
  17. 2018-07-17  000001.SZ    -0.11 
  18. 2018-07-18  000001.SZ    -0.23 

对列'pct_chg'调用窗口函数expanding,再调用.sum()方法求累计值。

  1. df['cum_pct_chg'] = df['pct_chg'].expanding().sum() 
  2. df 
  3. Out[78]:  
  4.               ts_code  pct_chg  cum_pct_chg 
  5. trade_date                                  
  6. 2018-07-02  000001.SZ    -5.28        -5.28 
  7. 2018-07-03  000001.SZ     0.70        -4.58 
  8. 2018-07-04  000001.SZ    -0.69        -5.27 
  9. 2018-07-05  000001.SZ    -0.12        -5.39 
  10. 2018-07-06  000001.SZ     0.70        -4.69 
  11. 2018-07-09  000001.SZ     4.27        -0.42 
  12. 2018-07-10  000001.SZ    -0.55        -0.97 
  13. 2018-07-11  000001.SZ    -2.23        -3.20 
  14. 2018-07-12  000001.SZ     2.78        -0.42 
  15. 2018-07-13  000001.SZ     0.00        -0.42 
  16. 2018-07-16  000001.SZ    -1.69        -2.11 
  17. 2018-07-17  000001.SZ    -0.11        -2.22 
  18. 2018-07-18  000001.SZ    -0.23        -2.45 

04、总结

本文介绍了Pandas库中处理时间序列数据的几种常用方法。

在时间格式转换部分,介绍了两种将时间转化成日期类型的方法,分别是通过设置参数parse_dates和调用方法pd.to_datetime()。

接着,介绍了时间周期的转换,通过调用.resample()方法实现,包括降采样和升采样。

最后,介绍两个常用的窗口函数rolling和expanding。

希望大家能灵活掌握本文中提到的方法,并应用到实际工作和学习中去!

译者简介:

Little monster,北京第二外国语学院国际商务专业研一在读,目前在学习Python编程和量化投资相关知识。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读