擅长:python、mysql、java
<p>不要使用变量<code>dict</code>,因为python代码关键字。在</p>
<p>解决方案是提取字典键中的第一个整数:</p>
<pre><code>import re
d= {'2017() (pat)':'2000',
'2018() (pat)':'2001'}
df = pd.DataFrame({'YEAR': ['test2017end','test2018end','test2019end'],
'MONTH': ['Jan','Feb','Mar'],
'DD': ['1','12','22']})
for init, repl in d.items():
i = re.findall('\d+', init)[0]
df.loc[df['YEAR'].str.contains(i),'YEAR'] = repl
print(df)
YEAR MONTH DD
0 2000 Jan 1
1 2001 Feb 12
2 test2019end Mar 22
</code></pre>