Merge pandas dataframe on matched substrings

Viewed 19

I am trying to search each row within a column which contains a longer string in one dataframe (Reason from df1) for a specific string from another dataframe (Invoice ID from df2) and then merge the two dataframes to get "Amount" in the merged dataframe.

data1={'ID':['A','B','A','C'],'Reason':['xxxABC1','yyyBCD2','zzzXY3',"ppp123c"],'Amount':[10,20,30,10]}
df1=pd.DataFrame(data1)
df1

data2={'ID':['A','B','A','C'],'InvoiceID':['ABC1','BCD2','XY3',"123c"]}
df2=pd.DataFrame(data2)
df2

Expected Result

data3={'ID':['A','B','A','C'],'InvoiceID':['ABC1','BCD2','XY3',"123c"],'Amount':[10,20,30,10]}
df3=pd.DataFrame(data3)
df3
0 Answers
Related