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”值列表)