<p>使用<a href="https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.merge.html" rel="nofollow noreferrer">^{<cd1>}</a>-</p>
<pre><code>from functools import reduce
dfs = [df1, df2, df3]
df_final = reduce(lambda left,right: pd.merge(left,right,on=None,left_index=True,right_index=True), dfs)
</code></pre>
<p><strong>或</strong></p>
^{pr2}$
<p>这给了你一个简单的方法用钥匙连接-</p>
<pre><code> Type A1 A2 A3 A4 A5 B1 B2 C1 C2 C3 C4
Tag TagA1 TagA1 TagA1 TagA2 TagA2 TagB1 TagB2 TagC1 TagC1 TagC2 TagC2
object1 1.1 2.1 3.1 4.1 5.1 11.1 12.1 21.1 22.1 23.1 24.1
object4 1.4 2.4 3.4 4.4 5.4 11.4 12.4 21.4 22.4 23.4 24.4
object7 1.7 2.7 3.7 4.7 5.7 11.7 12.7 21.7 22.7 23.7 24.7
object9 1.9 2.9 3.9 4.9 5.9 11.9 12.9 21.9 22.9 23.9 24.9
</code></pre>
<p><strong>计时</strong></p>
<p>@黑暗</p>
<pre><code>2.63 ms ± 598 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
</code></pre>
<p>@维维克</p>
<pre><code>2.9 ms ± 252 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
</code></pre>
<p>@Vivek(第二个-使用join)</p>
<pre><code>5.4 ms ± 662 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
</code></pre>
<p>由于按键操作没有任何麻烦,@Dark的解决方案效率略高一些。但由于OP提到<em>只包含这三个文件中存在的那些行(从第3行开始),所以我使用了<code>merge</code>的方式,而不是<code>concat</code>的方式</p>