2016-02-22 18 views
6

私は基本的なPythonの質問があります。別の列に同じ値を持つ行を見つける - Python

私はこのようなパンダのデータフレームを持っている:

ID | Name | User_id 
---+------+-------- 
1 John  10 
2 Tom  11 
3 Sam  12 
4 Ben  13 
5 Jen  10 
6 Tim  11 
7 Sean  14 
8 Ana  15 
9 Sam  12 
10 Ben  13 

私が二回表示される名前を返さず、USER_IDに同じ値を共有名とユーザーIDを取得したいです。だから私はこのような何かを見て、出力をしたいと思います:

John Jen 10 
Tom Tim 11 
+0

を '二倍に - >どういう意味ですか?ショーンはどうしたの? –

答えて

8

あなたはGROUPBYそれをこのように、「USER_ID」に関するgroupbyを行い、その後、フィルタリングできIIUC:表示される名前を返さずに

In [54]: 
group = df.groupby('User_id')['Name'].unique() 

In [55]: 
group[group.apply(lambda x: len(x)>1)] 

Out[55]: 
User_id 
10 [John, Jen] 
11  [Tom, Tim] 
Name: Name, dtype: object 
+0

これは私が探していたものです!ありがとうEdChum! –