2016-11-20 3 views
0

Ich habe zwei Datenrahmen df_1 enthält:Finden Werte von Datenrahmen in einem anderen Datenrahmen in Python

["TP","MP"] 

und df_2 enthält:

["This is case 12389TP12098","12378MP899" is now resolved","12356DCT is pending"] 

Ich möchte es in df_1 Suchwerte verwenden, in jedem Eintrag von df_2 und geben Sie diejenigen, die übereinstimmen. In diesem Fall sind diese zwei Einträge, die TP, MP.

Ich habe so etwas versucht.

df_2.str.contains(df_1) 

Antwort

1

Sie müssen es separat für jedes Element von df_1 tun. Pandas wird Ihnen helfen:

df_1.apply(df_2.str.contains) 

Out: 
     0  1  2 
0 True False False 
1 False True False 

Das ist eine Matrix aller Kombinationen. Sie können es hübsch machen:

matches = df_1.apply(df_2.str.contains) 
matches.index = df_1 
matches.columns = df_2 
matches 

Out: 
    This is case 12389TP12098 12378MP899 is now resolved 12356DCT is pending 
TP      True      False    False 
MP      False      True    False 
Verwandte Themen