擅长:python、mysql、java
<p>我想我会做两个合并:</p>
<pre><code>In [11]: df = pd.DataFrame([[1, 2], [3, 4], [5, 6]], columns=["A", "B"])
In [12]: df2 = pd.DataFrame([[1, 7], [2, 8], [4, 9]], columns=["C", "D"])
In [13]: res = df.merge(df2, left_on="B", right_on="C", how="left")
In [14]: res.update(df.merge(df2, left_on="A", right_on="C", how="left"))
In [15]: res
Out[15]:
A B C D
0 1 2 1.0 7.0
1 3 4 4.0 9.0
2 5 6 NaN NaN
</code></pre>
<p>如您所见,这将选择A=1->;D=7,而不是B=2->;D=8。在</p>
<p>注意:为了获得更高的扩展性(匹配不同的列),可能需要拉出一个列,尽管在本例中它们都是相同的:</p>
^{pr2}$