目前我有一个如下所示的日志文件:
PS V I P
PSX1 1.802 .006 .011
PSX4 1.113 .179 .199
PSX2 1.111 .036 .041
PSX3 1.095 .003 .046
PSX1 1.802 .007 .014
PSX4 1.114 .180 .201
PSX2 1.111 .038 .041
PSX3 1.096 .003 .005
我希望在通过脚本
之后将其更改为它的样子 PSX1 PSX2 PSX3 PSX4
V I P V I P V I P V I P
# # # # # # # # # # # #
# # # # # # # # # # # #
. . . . . . . . . . . .
. . . . . . . . . . . .
我一直在使用pandas搞乱数据框架,我不确定如何实现这一点,或者甚至可以做到这一点。任何帮助将不胜感激。
答案 0 :(得分:1)
使用cumcount
创建新的索引键,然后我们unstack
并使用swaplevel
+ sort_index
df=df.assign(newindex=df.groupby('PS').cumcount())
df.set_index(['newindex','PS']).unstack().swaplevel(0,1,axis=1).sort_index(level=0,axis=1)
Out[91]:
PS PSX1 PSX2 PSX3 \
I P V I P V I P V
newindex
0 0.006 0.011 1.802 0.036 0.041 1.111 0.003 0.046 1.095
1 0.007 0.014 1.802 0.038 0.041 1.111 0.003 0.005 1.096
PS PSX4
I P V
newindex
0 0.179 0.199 1.113
1 0.180 0.201 1.114