从数据框列创建滚动差异

时间:2019-04-22 19:51:35

标签: python pandas

我有一个数据帧(df),看起来像:

              A     B         C          D      
date                                       
2014-02-25  2.41  1.0   20712.0  324.90415  
2014-02-26  2.41  1.0   11400.0  324.90415   
2014-02-27  2.40  1.0    4370.0  323.55600   
2014-02-28  2.37  1.0   51943.0  319.51155   
2014-03-03  2.40  1.0   27902.0  323.55600   
:   :       :       :
2015-03-16  2.39  1.0   18059.0  322.20785   
2015-03-17  2.40  1.0   24346.0  323.55600  
2015-03-18  2.35  1.0  344171.0  316.81525     
2015-03-19  2.35  1.0   15247.0  316.81525   
2015-03-20  2.35  1.0   90217.0  316.81525  

我想计算最近5个日期(2015年3月16日至2015年3月20日)的A列的滚动差异,回顾每次计算的过去260天。

我可以计算出可以使用df['A'].var()的方差。我可以创建一个仅包含最近260天的新数据框,但想知道是否有更优雅的方法来计算A列的数据框中最近5个日期的260天差异?

谢谢

1 个答案:

答案 0 :(得分:1)

尝试:

variance = df.A.rolling(260).var()

为您提供整个数据的方差。那你可以做

variance[-5:]