如何正确使用Pandas旋转数据框

时间:2019-02-08 10:09:29

标签: python pandas dataframe pivot

我有一个看起来像这样的数据框df1

                     rootID   parentID    jobID  time
                  0    A         A          B    2019-01-30 14:33:21.339469
                  1    A         A          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
                  5    E         F          H    2019-01-30 17:33:21.812381
                  6    E         G          I    2019-01-30 18:33:21.812381

我想将此数据框转换为以下格式(df2)

                     rootID   subID1      subID2   subID3  #subFlows
                  0    A         B                             1
                  1    A         C          D                  2  
                  3    E         F          G         I        3
                  4    E         F          H                  2

我尝试过

         df2 = (df1.assign(g=df.groupby('rootID').cumcount().add(1))
               .pivot('rootID','g','jobID')
               .add_prefix('subID')
               .fillna("")
               .reset_index())

          df2['#subFlows'] = (df2 != "").sum(axis=1).astype(int).sub(1)

哪个返回类似

的数据框
                     rootID   subID1      subID2   subID3 
                  0    A         B          C        D    
                  1    E         F          G        H    

但是如上所述,我想分隔非嵌套的子ID。

有人知道我会怎么做吗?

0 个答案:

没有答案