2
問題設置串聯其他唯一列的所有可能的列值
假設我給出下面的數據幀。
ID category
223 MMO
223 Game
444 Finance
360 Reading
360 Book
該數據幀具有一個ID
柱和它的相關聯的category
。請注意,相同的ID
可以有多個類別。
我的目標是創建一個新列,其中包含給定ID
的所有可能類別的連接。這意味着:
- 移除舊
category
列 - 刪除重複
ID
行
的輸出是這樣的。
ID category
223 MMO_Game
444 Finance
360 Reading_Book
嘗試性解決方案
我的思想過程是先創建一個GROUPBY變量將由ID
組category
。
groupby_ID = df['category'].groupby(df['ID'])
現在我可以嘗試遍歷分組數據並連接字符串。
for ID, category in groupby_appID:
我不知道該怎麼繼續下去。一些指針將不勝感激!
天才@EdChum!我想我推翻了這個問題,不需要循環。 –
你可以做到這一點並不明顯,它很容易開始使用lambda或某種內置方法,但它是一個很好的實現你想要的方式 – EdChum
我看到@EdChum已經回答,我不想要他的影響我的答案。所以我沒有看。我在功能上提出了相同的解決方案,但這更優雅。 'df.groupby('ID')。category.apply(lambda x:'_'。join(x))''。很好的答案@EdChum。 – piRSquared