ewma或MultiIndex的转变

时间:2014-01-29 00:28:41

标签: pandas

如果我有一个带有DataFrame的Pandas MultiIndex,其中第一个级别是符号,则第二个级别是日期,执行ewma或{shift的最简单方法是什么{1}}对数据进行操作。

目前天真地转移符号。

也许我需要使用Panel

使用:

In [13]: pd.concat({"GOOG": pd.DataFrame({'price':[100,101]},index=["2013-1-1","2013-1-2"]),"AAPL": pd.DataFrame({'price':[100,101]},index=pd.to_datetime(["2013-1-1","2013-1-2"]))}, axis=0, names=["Symbol", "Date"])
Out[13]:
                 price
Symbol Date
AAPL   2013-1-1    100
       2013-1-2    101
GOOG   2013-1-1    100
       2013-1-2    101

In [17]: df.shift()
Out[17]:
                 price
Symbol Date
AAPL   2013-1-1    NaN
       2013-1-2    100
GOOG   2013-1-1    101
       2013-1-2    100

这看起来可能有效,但Panel布局绝对不直观: df.to_panel().shift(1, axis="minor").ix["price"]

1 个答案:

答案 0 :(得分:2)

使用groupby()

df.groupby(level=0).transform("shift")