2017-07-12 15 views
1

私は、それを投稿したユーザーとそれに関連するタグに関する情報を含む投稿を表すデータを持っています。Pandas Merge同じユーザー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

listで使用groupby.agg:

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] 
関連する問題