擅长:python、mysql、java
<p>你不再用Excel写公式了,所以不要把同样的心态带到工作中去。你的实际问题有两个方面:</p>
<ol>
<li>提取<code>Code</code>列末尾的数字代码</li>
<li>根据国家/地区将这些数字代码分配到<code>Result</code>列</li>
</ol>
<p>Regex是第一个任务的好工具。第二个可以通过数据帧切片实现:</p>
<pre><code># Extract the numeric code, for all countries
code = df['Code'].str.replace(r'RMZ.*?(\d+)', '\\1')
# Check if the country is Merlin for each row
is_merlin = df['Country'] == 'Merlin'
# Create the Result column
df.loc[is_merlin, 'Result'] = code
df.loc[~is_merlin & df['Code'].str.startswith('RMZ.'), 'Result'] = 'NAN'
</code></pre>