擅长:python、mysql、java
<p>当您执行DataFrame.merge时,您正在合并您命名的列列表等上的两个数据帧。当您执行左合并(SQL等效的左联接)时,您保留了所有左表键,但仍然将右数据帧中的所有列放入合并中</p>
<p>我的建议是明确声明您想要的列,这可能不是最好的解决方案,但它会起作用</p>
<p>大意是:</p>
<pre><code>COLLIST = [FILL THIS WITH THE COLUMNS YOU WANT]
df2 = df2[[COLLIST]]
df1 = df1.merge(df.2, how = 'left', on = COLLIST)
</code></pre>
<p>注意,只有当df2中的所有列都是您想要保留的列时,这才有效</p>
<p>如果有不同的列,则相同的概念可以工作,只需使用两个不同的列列表即可</p>
<p>也许有更好的办法,但这就是我解决这个问题的方法</p>
<p>编辑以快速添加您甚至可以通过编程方式拖动列列表来设置列列表:</p>
<pre><code>collist = df1.index.tolist()
</code></pre>