将两个DataFrame连接成一个共享相同DateTimeIndex的MultiIndex

时间:2017-08-13 17:09:21

标签: python pandas dataframe multi-index

我可以连接两个DataFrames df1& df2到一个df,但我不知道怎么得不到我需要的“堆栈”结构 - 见附图。

我如何获得df1& df2组合以共享一个DateTimeIndex,如“堆栈”结构中的那个?

df1 & df2 df

1 个答案:

答案 0 :(得分:1)

我认为你需要to_frame

df = pd.DataFrame({'AAPL':[1,3,4],
                   'GOOG_L':[6,7,8]}, index=pd.date_range('2012-01-01', periods=3))
print (df)
            AAPL  GOOG_L
2012-01-01     1       6
2012-01-02     3       7
2012-01-03     4       8

df1 = df.stack().to_frame('col')
print (df1)
                   col
2012-01-01 AAPL      1
           GOOG_L    6
2012-01-02 AAPL      3
           GOOG_L    7
2012-01-03 AAPL      4
           GOOG_L    8

df2 = df.unstack().to_frame('col')
print (df2)
                   col
AAPL   2012-01-01    1
       2012-01-02    3
       2012-01-03    4
GOOG_L 2012-01-01    6
       2012-01-02    7
       2012-01-03    8