df['Map'] = df.WD.str.lower().replace(('.*\\b' + mp.WD + '[\\b\\n\\r]*.*').
    tolist(), mp.Map.tolist(), regex=True)
df['Exact_Match'] = df.WD.str.lower().isin(mp.WD.str.lower()).astype(np.uint8)
df.loc[df.WD.eq(df.Map), 'Map'] = ''
Partial Map with a dictionary in Pandas (python), Return attributes error