Python 重塑数据帧

Python 重塑数据帧,python,pandas,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

我有以下数据框形状:

                      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
目前它使用多索引(即:exchange+符号)。我需要更改此数据框的形状,以便索引为日期,列为“close”,列在exchange+符号下面。结果基本上应该是这样的:

                              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,我确信这是实现这一目标的正确方法,但是我无法获得所需的形状。

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

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

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

这对我很有效。基本上,我设置了一个与您类似的数据帧。。。。我的数据框在这里:

 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

希望这有帮助?

要重新制作数据帧。。。你只需说明你想要的顺序,例如:df=df[['date'、'columnA'、'columnB'…等]]我不确定这将如何工作,因为我需要多层次的列,即:每个交换/符号都有一个结束。因此,索引将是date,但列需要是多级的。也许你可以在回答中详细说明。谢谢,我还是没什么好运气。我相当确定需要使用pivot/stack/unstack,但我无法按照原始问题创建正确的数据框形状(每个exchange+符号下面都有一个“close”值列表)