重塑数据框架

时间:2015-06-04 13:35:18

标签: python pandas

我有以下数据框形状:

                      date,        close
exchange, symbol      
CME       ES          2015-02-25   123
          YM          2015-02-25   345
          NQ          2015-02-25   456
          ES          2015-02-26   875
          YM          2015-02-26   742
          NQ          2015-02-26   235

目前它使用多索引(即:交换+符号)。我需要更改此数据框的形状,以便索引是日期,列是'close',列在exchange + symbol下面。结果基本上应该是这样的:

                              close
(exchange, symbol)            (CME, ES)    (CME, YM)    (CME NQ)
date
2015-02-25                    123          345           456
2015-02-26                    875          742           235

我尝试过pivot / unstack / stack,这确实是完成此操作的正确方法,但是我无法获得所需的形状。

2 个答案:

答案 0 :(得分:0)

这对我有用。基本上我为你设置了一个类似的数据框....我的数据框在这里:

 symbol        date  close
     ES  25/02/2015    123
     YM  25/02/2015    456
     NQ  25/02/2015    789
     ES  26/02/2015    123
     YM  26/03/2015    456
     NQ  26/03/2015    789


df = pd.DataFrame.from_csv(path, index_col = None)

print df.pivot(index = 'date', columns = 'symbol', values = 'close')

输出:

symbol       ES   NQ   YM
date                     
25/02/2015  123  789  456
26/02/2015  123  789  456

希望这有帮助吗?

答案 1 :(得分:-1)

要将“日期”列作为索引,您可以执行以下操作:

 df.set_index('date', inplace = True)

之后,其他列将自动组织起来。