Python 通过将重复的行拆分为列来实现

Python 通过将重复的行拆分为列来实现,python,pandas,group-by,Python,Pandas,Group By,我有一个如下所示的数据框,我正在尝试将重复的unique\u id行拆分为新列 unique_id Name Description_col 001 Ram description1 002 Kumar description2 002 Gopal description3 003 Dinesh description4 004 Avi description5 004 Sam

我有一个如下所示的数据框,我正在尝试将重复的
unique\u id
行拆分为新列

unique_id Name     Description_col
001       Ram      description1
002       Kumar    description2
002       Gopal    description3
003       Dinesh   description4
004       Avi      description5
004       Sam      description6
004       Guru     description7
我试图通过按
unique\u id
分组来拆分数据帧。如果重复唯一id,则应将
名称、说明
列作为新列添加

unique_id Name     Description_col
001       Ram      description1
002       Kumar    description2
002       Gopal    description3
003       Dinesh   description4
004       Avi      description5
004       Sam      description6
004       Guru     description7
我的预期产出是:

unique_id Name     Description_col     Name2    Description_col2   Name3     Description_col3
001       Ram      description1
002       Kumar    description2        Gopal    description3    
003       Dinesh   description4
004       Avi      description5        Sam      description6        Guru     description7

我们需要使用
cumcount
pivot

df['key'] = df.groupby('unique_id').cumcount().astype(str)
s=df.pivot_table(index='unique_id',columns='key',values=['Name','Description_col'],aggfunc='first').sort_index(level=1,axis=1)
s.columns=s.columns.map('_'.join)
s
Out[97]: 
          Description_col_0  Name_0  ... Description_col_2 Name_2
unique_id                            ...                         
1              description1     Ram  ...               NaN    NaN
2              description2   Kumar  ...               NaN    NaN
3              description4  Dinesh  ...               NaN    NaN
4              description5     Avi  ...      description7   Guru
[4 rows x 6 columns]