<p>dustin解决方案的另一个替代方案是functool的reduce函数和DataFrame.merge()的组合</p>
<p>这样,</p>
<pre><code>from functools import reduce # standard library, no need to pip it
from pandas import DataFrame
# make some dfs
df1
id col_one col_two
0 0 a d
1 1 b e
2 2 c f
df2
id col_three col_four
0 0 A D
1 1 B E
2 2 C F
df3
id col_five col_six
0 0 1 4
1 1 2 5
2 2 3 6
</code></pre>
<p>一行:</p>
<pre><code>reduce(lambda x,y: x.merge(y, on= "id"), [df1, df2, df3])
id col_one col_two col_three col_four col_five col_six
0 0 a d A D 1 4
1 1 b e B E 2 5
2 2 c f C F 3 6
</code></pre>
<p><a href="https://docs.python.org/3/library/functools.html#functools.reduce" rel="nofollow noreferrer">functools.reduce docs</a></p>
<p><a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html?highlight=merge#pandas.DataFrame.merge" rel="nofollow noreferrer">pandas.DataFrame.merge docs</a></p>