Skip to main content
 首页 » 编程设计

python之找到 3 个 DataFrame 之间的共同值

2025年05月04日15www_RR

我有 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]