慕蓋茨4494581
2021-12-17 14:40:51
我正在尋找一種將下面的表 A 顯示重新配置為表 B 的方法。表一:type x1 x2 x3 A 4 6 9 A 7 4 1 A 9 6 2 B 1 3 8 B 2 7 9轉化為表B:type x1 x2 x3 x1' x2' x3' x1'' x2'' x3'' A 4 6 9 7 4 1 9 6 2 B 1 3 8 2 7 9 NA NA NA真正的表 A 超過 150000 行和 36 列。具有 2100 個獨特的“類型”值。
1 回答

慕容708150
TA貢獻1831條經驗 獲得超4個贊
您可以適當地設置索引,然后unstack:
df
type x1 x2 x3
0 A 4 6 9
1 A 7 4 1
2 A 9 6 2
3 B 1 3 8
4 B 2 7 9
res = (df.set_index(['type', df.groupby('type').cumcount()])
.unstack()
.sort_index(level=-1, axis=1))
res.columns = res.columns.map(lambda x: x[0] + "'" * int(x[1]))
res
x1 x2 x3 x1' x2' x3' x1'' x2'' x3''
type
A 4.0 6.0 9.0 7.0 4.0 1.0 9.0 6.0 2.0
B 1.0 3.0 8.0 2.0 7.0 9.0 NaN NaN NaN
添加回答
舉報
0/150
提交
取消