Python 数据透视表中的每个组有两行
我有一张像这样的桌子Python 数据透视表中的每个组有两行,python,pandas,pivot,Python,Pandas,Pivot,我有一张像这样的桌子 id process Number1 Number2 1 a 11 343 1 b 22 121 1 c 33 889 2 a 41 317 2 b 42 997 2 c 43 761
id process Number1 Number2
1 a 11 343
1 b 22 121
1 c 33 889
2 a 41 317
2 b 42 997
2 c 43 761
a b c
1 343 121 889
1 11 22 33
2 317 997 761
2 41 42 43
我想做的是旋转那张桌子,使它看起来像这样
id process Number1 Number2
1 a 11 343
1 b 22 121
1 c 33 889
2 a 41 317
2 b 42 997
2 c 43 761
a b c
1 343 121 889
1 11 22 33
2 317 997 761
2 41 42 43
本质上,process
成为一个标题,每个id
成为一个索引。
一行有Number1
,第二行有Number2
我有
fail_rate_df.pivot_table(index='id', columns='process', values='Number2', aggfunc='first')
返回
a b c
1 343 121 889
2 317 997 761
如何为每个id添加第二行,使其也具有Number1
。数字2应该是第一行,数字1应该是第二行。试试:
(df.pivot_table(index='id', columns='process', aggfunc='first')
.stack(level=0)
.sort_index(level=[0,1], ascending=[True,False])
)
输出:
process a b c
id
1 Number2 343 121 889
Number1 11 22 33
2 Number2 317 997 761
Number1 41 42 43