擅长:python、mysql、java
<p>看看这个:</p>
<p>此方法转换并比较以下值:</p>
<pre><code>import pandas as pd
import re
def match (first, second, overall):
f = re.sub(r"[^a-zA-Z]"," ", first.lower()).strip()
s = re.sub(r"[^a-zA-Z]"," ", second.lower()).strip()
o = re.sub(r"[^a-zA-Z]"," ", overal.lower()).strip()
if f == o:
return 1
elif s == o:
return 1
else:
return 0
</code></pre>
<p>这行代码添加匹配列并将函数应用于每一行:</p>
<pre><code>df['match'] = df.apply(lambda x: match(x['name_0'],x['name_1'],x['overall_name']),axis=1)
</code></pre>
<p>结果是这样的:</p>
<pre><code> name_0 name_1 overall_name match
0 Asda Nan Tesco 0
1 Asda Nan ASDA 1
2 LIDL 1 Asda Lidl 1
3 AAA Asda ASDA 1
4 AAA Asda ASDA 1
5 Sainsbury Nan Lidl 0
</code></pre>
<p>让我知道它是否适合你</p>