我有 3 个数据帧:df1、df2 和 df3。
df1 = 'num' 'type'
23 a
34 b
89 a
90 c
df2 = 'num' 'type'
23 a
34 b
56 a
90 c
df3 = 'num' 'type'
56 a
34 s
71 a
90 c
我想要的是出现在 2 个或更多 dfs 中的所有“num”值的输出,我想标记该“num”值出现在多少个 dfs 中。所以我想要这样的东西:
df = 'num' 'type' 'count'
23 a 2
34 s 3
90 c 3
56 a 2
我尝试进行内部合并,但这只说明了出现在所有 3 个 df 中的“num”值,忽略了出现在 2/3 df 中的值。 最好的方法是什么?
请您参考如下方法:
瞧我的 friend
df_full = pd.concat([df1,df2,df3], axis = 0)
df_agg = df_full.groupby('num').agg({'type': 'count'})
df_agg = df_agg.loc[df_agg['type'] >= 2]
