2017-06-19 83 views
0

我有一个数据帧显示在下面,我想计算不同列之间的第一个差异估计值。我发现这个软件包,但不知道如何实现它...还有,共变量是否允许?我是Python和统计新手,所以任何帮助将不胜感激!第一差异估计...在熊猫数据帧

包,我发现:https://bashtage.github.io/linearmodels/doc/panel/models.html#linearmodels.panel.model.FirstDifferenceOLS

如何格式化数据: https://bashtage.github.io/linearmodels/doc/panel/examples/data-formats.html

我的数据(现multiindexed):

 vix     eff     bloom 
     time VIX_close FEDFUNDS  time  time 
2017-06-16 10.380000 3.020000 1993-01-01 1993-01-01 
2017-06-15 10.640000 3.025000 1993-02-01 1993-01-02 

我尝试:

mod = FirstDifferenceOLS(master.FEDFUNDS, master.Kincaid) 
res = mod.fit(cov_type='robust') 

导致在:

ValueError: Series can only be used with a 2-level MultiIndex 
+0

你已经试过了什么?在你发布的链接上有一个例子。 – omdv

+0

谢谢,我更新了我的问题。 –

回答

1

有一个简单的方法可以做到这一点!

1)发表的数据作为是(又名不多指数并且不使用封装)

代码:

ARI  Flesch  Kincaid  time VIX_close FEDFUNDS 
14.289911 36.843078 13.187598 2004-03-01 17.223000 1.431333 
14.825867 39.550341 13.849544 2004-04-01 16.304333 1.381667 

2)使用大熊猫来计算与为.diff第一差值()函数:

differs = master.diff() 

3)退步差异:

result = sm.ols(formula="Kincaid ~ VIX_close", data=differs).fit() 

4)Ta-da - 你完成了!