Python 使用pandas中的MultiIndex.from_元组添加附加级别

Python 使用pandas中的MultiIndex.from_元组添加附加级别,python,pandas,header,multi-index,Python,Pandas,Header,Multi Index,我正试图在python的多级索引中添加一个额外的级别。我的数据框如下所示 df1=pd.DataFrame(np.array([[A',1,2,3],'B',-4,5,-6],'d',7,0,9]),columns=[d','A','B','c']) 我使用以下代码来添加多个级别 df1.columns=pd.MultiIndex.from_元组(((“first”,“D”),(“first”,“a”),(“second”,“b”),(“second”,“c”)) 现在,我想从不同的数据帧在第一

我正试图在python的多级索引中添加一个额外的级别。我的数据框如下所示

df1=pd.DataFrame(np.array([[A',1,2,3],'B',-4,5,-6],'d',7,0,9]),columns=[d','A','B','c'])

我使用以下代码来添加多个级别

df1.columns=pd.MultiIndex.from_元组(((“first”,“D”),(“first”,“a”),(“second”,“b”),(“second”,“c”))

现在,我想从不同的数据帧在第一层和第二层之间添加另一层

df2=pd.DataFrame(np.array([[D',1],[a',2],[b',1],[c',3]),columns=[11','22'])

所需的输出应如下所示。我想知道我怎样才能做到这一点。非常感谢您事先的帮助

 first  second

 1  2   1  3

 D  a   b   c

A   1   2   3
B   -4  5   -6
d   7   0   9

多个索引的更改总是令人头痛

out = df1.T.assign(a=[1,2,1,3]).set_index('a',append=True).T.reorder_levels([0,2,1],axis=1)
Out[247]: 
  first     second    
a     1   2      1   3
      D   a      b   c
0     A   1      2   3
1     B  -4      5  -6
2     d   7      0   9
尝试:

输出:

  first     second    
      1   2      1   3
      D   a      b   c
0     A   1      2   3
1     B  -4      5  -6
2     d   7      0   9

实际上,直接重新分配列会发出警告,但什么也没有做,因此需要进行调整。

1 2 1 3
从何而来?我有一个包含这些详细信息的表。df2=pd.DataFrame(np.array([['D',1],'a',2],'b',1],'c',3]),columns=['11','22'])谢谢,我可以使用DataFrame来添加级别吗?df2=pd.DataFrame(np.array([[D',1],[a',2],[b',1],[c',3]),columns=['11','22']))
  first     second    
      1   2      1   3
      D   a      b   c
0     A   1      2   3
1     B  -4      5  -6
2     d   7      0   9