2015-10-13 81 views
1

我有一個數據幀,看起來像這樣:熊貓重複行唯一的行

df = pd.DataFrame({'Id':['1', '1', '1', '2', '2'], 'Name':['A', 'B', 'C', 'A', 'B']}) 

我想要的是讓這樣的事情。

df1 = pd.DataFrame({'Id':['1', '2'], 'Name':['A', 'B', 'C', 'A', 'B']}) 

我有過一個以上的數據幀,但我不得不做一些分析,所以我用下面的代碼把它分解:

df2 = pd.concat([Series(row['Id'], row['Name'].split(',')) for _, row in df.iterrows()]).reset_index() 

我期待反轉的代碼,但我被困。

任何幫助非常感謝!

回答

1

試試這個:

df.groupby('Id')['Name'].apply(','.join) 

您可能需要重新索引和重命名列,但這應該做的主片的工作。

+0

非常感謝!有用。是的,你需要重置索引:) – Kvothe