擅长:python、mysql、java
<p>可以使用以下矢量化方法来执行此操作:</p>
<pre><code>mp = pd.DataFrame({'WD':[x.lower() for x in equiv.keys()],
'Map':[x for x in equiv.values()]})
df['Map'] = \
df.WD.str.lower().replace(
(r'.*\b' + mp.WD + r'[\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'] = ''
</code></pre>
<p>演示:</p>
^{pr2}$