Python 使用列中的值对数据帧进行多索引

Python 使用列中的值对数据帧进行多索引,python,pandas,Python,Pandas,我有一个如下所示的数据帧: column1 column2 column3 column4 P1 D1 T1 1.0 P1 D1 T2 2.0 P1 D2 T1 3.0 P1 D2 T2 4.0 P2 D1 T1 5.0 P2 D1 T2

我有一个如下所示的数据帧:

column1   column2   column3   column4
P1        D1        T1        1.0
P1        D1        T2        2.0
P1        D2        T1        3.0
P1        D2        T2        4.0
P2        D1        T1        5.0
P2        D1        T2        6.0
P2        D2        T1        7.0
P2        D2        T2        8.0
我想通过第2列和第3列中的值对这些列进行多索引。应该是这样的

column1   column4
          D1                  D2
          T1        T2        T1        T2
P1        1.0       2.0       3.0       4.0
P2        5.0       6.0       7.0       8.0
我相信你需要:

如果需要通过
column4
删除
column4
MultiIndex
顶层,请使用:


谢谢,这正是我所需要的,我希望我在3小时前开始尝试multiindex和groupby时问过这个问题,但没有成功!
df = df.set_index(['column1','column2','column3'])['column4'].unstack([1,2])
print (df)
column2   D1        D2     
column3   T1   T2   T1   T2
column1                    
P1       1.0  2.0  3.0  4.0
P2       5.0  6.0  7.0  8.0
df = df.set_index(['column1','column2','column3']).unstack([1,2])
print (df)
        column4               
column2      D1        D2     
column3      T1   T2   T1   T2
column1                       
P1          1.0  2.0  3.0  4.0
P2          5.0  6.0  7.0  8.0