擅长:python、mysql、java
<p>想法是将<code>.</code>替换为空字符串,然后通过字典的键提取值,如果不匹配,映射并替换原始值:</p>
<pre><code>c = df.select_dtypes(object).columns
func = lambda x: (x.str.replace('.', '', regex=False)
.str.extract(f'({"|".join(d.keys())})', expand=False)
.map(d)
.fillna(x))
df[c] = df[c].apply(func)
print (df)
id cars1 cars2
0 1 Opel Adam BMW
1 2 Opel Astra Estate Opel Astra Estate
2 3 Opel Astra Hatchback Opel Grandand X
3 4 Opel Astra Saloon Audi
4 5 Opel Grandand X Audi
</code></pre>