[英]Pandas groupby split repeated rows into columns
我有一個 dataframe 如下所示,我正在嘗試將重復的unique_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 分組來拆分unique_id
。 如果重復唯一 ID,則應將Name, Description
列添加為新列。
我預期的 output 是:
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.