我正在寻找一种将下面的表 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
提交
取消
