2017-07-12 362 views
1

我有表示包含發佈它的用戶信息和與其關聯的標籤的帖子的數據。熊貓合併具有相同用戶ID的行

  UserID  PostID Tags 
0   1   1  A 
1   2   2  A  
2   1   3  A  
3   2   4  B 
4   3   5  B  
5   4   6  B  
6   5   7  A 

我想創建一個新的數據框,每行代表這樣的用戶。

  UserID  Posts  Tags 
0   1   [1,3]  [A,A] 
1   2   [2,4]  [A,B] 
2   3   [5]  [B]  
3   4   [6]  [B] 
4   5   [7]  [A]  

這樣我就可以列出那些帖子和標籤,而不是讓它們都是單獨的。

任何想法?

回答

2

使用groupby.agg與list

df.groupby('UserID', as_index=False)['PostID', 'Tags'].agg(lambda x: list(x)) 
Out: 
    UserID PostID Tags 
0  1 [1, 3] [A, A] 
1  2 [2, 4] [A, B] 
2  3  [5]  [B] 
3  4  [6]  [B] 
4  5  [7]  [A] 
相關問題