擅长:python、mysql、java
<p>可以在merge中将True传递给<code>indicator</code></p>
<pre><code>df1=pd.DataFrame({'A':[1,2,3],'B':[1,1,1]})
df2=pd.DataFrame({'A':[2,3],'B':[1,1]})
df1.merge(df2,on='A',how='inner')
Out[257]:
A B_x B_y
0 2 1 1
1 3 1 1
df1.merge(df2,on='A',how='outer',indicator =True)
Out[258]:
A B_x B_y _merge
0 1 1 NaN left_only
1 2 1 1.0 both
2 3 1 1.0 both
mergedf=df1.merge(df2,on='A',how='outer',indicator =True)
</code></pre>
<p>那么使用<code>value_counts</code>你就知道你在做<code>inner</code>时损失了多少,因为只有<code>both</code>在{<cd5>}时能保持</p>
^{pr2}$
<p>对于具有两个合并列的3df和filter,单词是<code>both</code></p>
<pre><code>df1.merge(df2, on='A',how='outer',indicator =True).rename(columns={'_merge':'merge'}).merge(df3, on='A',how='outer',indicator =True)
</code></pre>