2

我使用 pivot 来重塑我的数据,现在有一个 column multiindex。我希望结果列是简单 OLS 回归中的 X 变量。Y 是具有相同行索引的另一个系列。

当我尝试跑步时

model1 = ols(y = gdp0, x = MIDAS_small)

我明白了

TypeError: can only call with other hierarchical index objects

我可以想象两种解决方案,但无法弄清楚任何一种:

  1. 折叠多索引。与其拥有 ('before', 'var1') 和 ('after', 'var1') 形式的列,我只会有一堆 'beforevar1'、'aftervar1' 等。然后我可以使用 ols 来制作一张漂亮且足够清晰的桌子。

  2. 有没有办法用多索引运行回归?似乎它部分是为这类事情而设计的,尤其是面板回归,但我找不到任何相关的示例或文档。

好吧,我找到了#1 的一个不优雅的解决方案:我可以创建一个新的数据框,循环遍历两个列索引,并将新列插入到具有相同名称的新数据框中,但名称为字符串而不是元组。必须有一个更优雅、更单一的命令,对吧?

4

1 回答 1

1

您是否厌倦了使用来自 Patsy 的 dmatricies 来准备回归友好的 DataFrame?

一个示例位于此处:

http://statsmodels.sourceforge.net/devel/gettingstarted.html

我确定您知道 pandas 中的 .unstack() 函数可以让您删除分层索引,但它与 dmatrices 可能会产生您正在寻找的结果。

于 2013-04-29T18:02:36.313 回答