2016-08-09 257 views
3

Ich habe ein Datenrahmen A wie folgt aus:Überprüfen Sie, ob eine Zeile in einem Datenrahmen existieren in einem anderen Datenrahmen

enter image description here

Und ein anderer Datenrahmen B, die wie folgt aussieht:

enter image description here

Ich möchte eine Spalte 'Exist' zu Datenrahmen A hinzufügen, so dass, wenn Benutzer und Film beide in Datenrahmen B vorhanden sind, 'Exist' ist True, andernfalls ist es False. So sollte ein so geworden: enter image description here

+2

Bitte verwenden nicht für Daten oder Tabellen png, Text verwenden. – Merlin

Antwort

3

Sie merge mit dem Parameter indicator verwenden können, entfernen Sie dann Spalte Rating und verwenden numpy.where:

df = pd.merge(df1, df2, on=['User','Movie'], how='left', indicator='Exist') 
df.drop('Rating', inplace=True, axis=1) 
df['Exist'] = np.where(df.Exist == 'both', True, False) 
print (df) 
    User Movie Exist 
0  1 333 False 
1  1 1193 True 
2  1  3 False 
3  2 433 False 
4  3  54 True 
5  3 343 False 
6  3  76 True