Найти строки с одинаковыми значениями в другом столбце-Python

у меня есть основные вопросы на 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, без возврата имен, которые появляются дважды. Поэтому я хотел бы, чтобы выход выглядел примерно так:

John Jen 10
Tom Tim 11

1 ответов


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