擅长:python、mysql、java
<p>这是一种方式:</p>
<pre><code>import pandas as pd
df1 = pd.DataFrame({'colA': [1, 1, 1],
'colB': [2, 1, 5],
'colC': [3, 2, 4]})
df2 = pd.DataFrame({'colA': [1, 1, 1],
'colB': [2, 2, 1],
'colC': [3, 3, 2]})
df1 = df1.groupby(['colA', 'colB', 'colC']).size().reset_index(name='count1')
df2 = df2.groupby(['colA', 'colB', 'colC']).size().reset_index(name='count2')
df_merged = pd.concat((df1, df2)).fillna(0)
df_final = df_merged.groupby(['colA', 'colB', 'colC'])\
.apply(lambda x: x['count2'].sum() - x['count1'].sum())\
.loc[lambda p: p != 0]\
.reset_index()\
.drop(0, axis=1)
print(df_final)
</code></pre>
<p>输出:</p>
<pre><code> colA colB colC
0 1 2 3
1 1 5 4
</code></pre>