擅长:python、mysql、java
<p>试试这个:</p>
<pre class="lang-py prettyprint-override"><code>df3=df2.merge(df1, left_on="1", right_index=True).merge(df1, left_on="2", right_index=True, suffixes=("_1", "_2")).drop(["1", "2"], axis=1).rename(columns={"field1_1": "1", "field1_2": "2"})
</code></pre>
<p>对于我使用的示例数据:</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
df1=pd.DataFrame({"field1": ["abc", "xyz", "pqr", "ghi", "yyy"]})
df2=pd.DataFrame({"0": [1,2,3,4,5], "1":[0, 4 ,2,2,3], "2": [4,3,3,2,1]})
df3=df2.merge(df1, left_on="1", right_index=True).merge(df1, left_on="2", right_index=True, suffixes=("_1", "_2")).drop(["1", "2"], axis=1).rename(columns={"field1_1": "1", "field1_2": "2"})
print(df3)
</code></pre>
<p>输出:</p>
<pre class="lang-py prettyprint-override"><code>0 1 2
0 1 abc yyy
1 2 yyy ghi
2 3 pqr ghi
3 4 pqr pqr
4 5 ghi xyz
[Program finished]
</code></pre>