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

2024-09-29 21:33:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

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

我想用column2和column3中的值对列进行多索引。应该是这样的

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

Tags: 数据d2d1t1p2column1p1t2
1条回答
网友
1楼 · 发布于 2024-09-29 21:33:48

我相信你需要^{}^{}

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

如果需要顶层MultiIndexcolumn4移除column4并使用^{}

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

相关问题 更多 >

    热门问题