我对熊猫还很陌生,一直在尝试了解如何旋转此数据框。
rootID parentID jobID time
0 A A B 2019-01-30 14:33:21.339469
1 A B C 2019-01-30 14:33:21.812381
2 A C D 2019-01-30 15:33:21.812381
3 E E F 2019-01-30 15:33:21.812381
4 E F G 2019-01-30 16:33:21.812381
放入这样的框架
rootID subID1 subID2 subID3
0 A B C D
1 E F G
有什么办法可以使用pd.pivot函数吗?
答案 0 :(得分:1)
在新列中使用groupby.cumcount
,然后在pivot
中,将列名更改为add_prefix
,替换缺失值,最后使用reset_index
来创建索引中的列:
df1 = (df.assign(g=df.groupby('rootID').cumcount().add(1))
.pivot('rootID','g','jobID')
.add_prefix('subID')
.fillna('')
.reset_index())
print (df1)
g rootID subID1 subID2 subID3
0 A B C D
1 E F G