擅长:python、mysql、java
<p>我们可以首先更改<code>df2</code>中类型<code>$ {hQOpelText.r*.val}</code>的所有列值,以遵守<code>df1</code>中<code>Variable</code>列中使用的值的约定,即<code>hQOpelTextr*</code>,然后我们可以从<code>df1</code>中的相应值替换这些值:</p>
<pre><code>cols = df2.select_dtypes(object).columns
df2[cols] = df2[cols].transform(
lambda s: (
s.str.replace(r'\$\s*\{([^\.]+).*?([^\.]+).*?\}', r'\g<1>\g<2>')
.replace(df1.set_index('Variable')['AUS'])
)
)
</code></pre>
<hr/>
<pre><code># print(df2)
id cars1 cars2
0 1 OpehAdam BMW
1 2 Opel Astra Estate Opel Astra Estate
2 3 Opel Astra Hatchback Opel Grandland X
3 4 Opel Astra Saloon Audi
4 5 Opel Grandland X Audi
</code></pre>