我在报价栏中有一个价格序列的时间数据框df1,通过将df1与其他3个共享相同DateTimeIndex的列连接在一起,可以从中创建一个新的DataFrame df2,如下所示:

python - 在DataFrame中的新标题列下嵌套列-LMLPHP

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

如何在Python中实现?

最佳答案

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

08-20 01:53