how to crate the group by in pandas only in one level

后端 未结 3 1812
忘掉有多难
忘掉有多难 2021-01-16 01:04

I am importing below df3 dataframe in my excel file and want to grouby only Name and rest dublicate data should reflect as below .

Note (Each Month data will be added

3条回答
  •  有刺的猬
    2021-01-16 01:32

    You can achieve it by

    df=df.iloc[pd.to_datetime(df.Month,format='%b').argsort()]
    df=pd.concat([pd.DataFrame({'Month':[x] }).append(y).fillna('').append(pd.DataFrame(dict.fromkeys(y.columns,['']))) for x , y in df.groupby('Name')]).drop('Name',1).iloc[:-1]
    

    print(df)
    
     Month ID Shift
    0   Jon         
    1   Jan  1     B
    6   Jan  1     A
    0   Feb  1     A
    5   Feb  1     C
    2   Mar  1     C
    0               
    0  Mike         
    3   Jan  1     A
    4   Jan  1     B
    

提交回复
热议问题