我有一个基本的Python问题。
我有一个像这样的pandas数据框:
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 :(得分:9)
IIUC你可以这样做,groupby
在' User_id'然后过滤groupby:
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