2016-02-22 6 views
6

Ho una domanda di base su Python.Trova le righe che hanno gli stessi valori in un'altra colonna - Python

Ho un dataframe panda come questo:

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 

voglio ottenere i nomi e gli ID utente che condividono lo stesso valore per user_id, senza ritornare nomi che appaiono due volte. Quindi vorrei l'uscita di simile a questa:

John Jen 10 
Tom Tim 11 
+0

'senza ritornare nomi che appaiono due volte -> cosa intendi? Cosa è successo a Sean? –

risposta

8

IIUC si potrebbe fare in questo modo, groupby su 'user_id' e poi filtrata del 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 
+0

Questo è quello che stavo cercando! Grazie EdChum! –

Problemi correlati