将列嵌套在DataFrame中的新标题列下

时间:2017-08-16 02:35:48

标签: python pandas dataframe multi-index

我有一个时间序列DataFrame df1,其价格在一个自动收录器列中,通过将df1与另外三个共享相同DateTimeIndex的列连接来创建一个新的DataFrame df2,如下所示:

df1 and df2

现在我需要设置股票名称“Equity(42950 [FB])”以成为新的标题并将其他3列嵌套在其下,并将股票代码的价格替换为“closePrice”中的值“专栏。

如何在Python中实现这一目标?

1 个答案:

答案 0 :(得分:2)

pd.MultiIndex

d = pd.DataFrame(np.arange(20).reshape(5,4), columns=['Equity', 'closePrice', 'mMb', 'mMv'])

arrays = [['Equity','Equity','Equity'],['closePrice', 'mMb','mMv']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples)

df = pd.DataFrame(d.values[:, 1:], columns=index)
df

    Equity
    closePrice  mMb mMv
0   1           2   3
1   5           6   7
2   9           10  11
3   13          14  15
4   17          18  19