Pandas:取每 n 列并堆叠

Pandas: Take Every n Columns and Stack

鉴于此数据框:

 pd.DataFrame([range(6),range(6,12)],columns=['A1','A2','A3','B1','B2','B3'])

    A1  A2  A3  B1  B2  B3
0   0   1   2   3   4   5
1   6   7   8   9   10  11

我想取每 n 列,在本例中为 3 列,并堆叠成如下所示:

       T0   T1  T2
0   A  0    1   2
    B  3    4   5
1   A  6    7   8
    B  9    10  11

我已经尝试了很多不同的 pandas 方法,例如 concat、stack、melt、wide_to_long,但经过数小时的实验还是无法找到正确的代码。

执行 wide_to_long + unstackstack

df=pd.wide_to_long(df.reset_index(),['A','B'],i='index',j='lvl').stack().unstack(1)
lvl      1   2   3
index             
0     A  0   1   2
      B  3   4   5
1     A  6   7   8
      B  9  10  11