擅长:python、mysql、java
<p>哇,这个问题很有趣,有时优化代码也很有趣。你知道吗</p>
<p>我试了几行,没有使用for循环就得到了结果。你知道吗</p>
<p>我已经创建了两个数据集,正如你的问题中提到的</p>
<pre><code>df1 = pd.DataFrame({"market_city":["AM","CM","BM","EM","DM"],
"state":["ROM","AOM","SOM","DOM","VOM"]})
print(df1)
market_city state
0 AM ROM
1 CM AOM
2 BM SOM
3 EM DOM
4 DM VOM
df2 = pd.DataFrame({"city":["CM","KM","AM"],"state":["ZOM","TOM","KOM"]})
print(df2)
city state
0 CM ZOM
1 KM TOM
2 AM KOM
</code></pre>
<p>现在,我们有两个数据帧,在这里我们用<code>df2</code>状态替换<code>df1</code>状态,在这里我们看到了<code>df1</code>市场城市和<code>df2</code>城市之间的匹配</p>
<p><strong>代码</strong></p>
<pre><code>dct_val = dict(zip(df2['city'], df2.state))
df1['state'] = df1['market_city'].replace(dct_val)
print(df1)
market_city state
0 AM KOM
1 CM ZOM
2 BM BM
3 EM EM
4 DM DM
</code></pre>