我在理解如何正确地使用pandas旋转数据框时遇到问题

时间:2019-01-31 09:04:44

标签: python pandas dataframe pivot

我对熊猫还很陌生,一直在尝试了解如何旋转此数据框。

                         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函数吗?

1 个答案:

答案 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