是否可以基于2列比较4个数据帧,并获得包含重复的结果(如果出现在2个或更多数据帧中)。结果应包含发生次数。我的数据帧看起来像
>>>df1
Circle Division Power
0 AAAA AA 25
1 BBBB BB 5
>>>df2
Circle Division Power
0 CCCC CC 25
1 BBBB BB 66
>>>df3
Circle Division Power
0 DDDD DD 55
1 FFFF FF 68
2 AAAA AA 87
>>>df4
Circle Division Power
0 AAAA AA 45
1 CCCC CC 56
预期结果
>>>result_df
Circle Division Power1 power2 power3 power4 Repeated
0 AAAA AA 25 - 87 45 3
1 BBBB BB 5 66 - - 2
2 CCCC CC - 25 - 56 2
我试着一个接一个地合并,但后来就卡住了
m12=pd.merge(df1, df2, on=['Circle','Division'], how='inner',suffixes=('1',' 2'))
m13=pd.merge(df1, df3, on=['Circle','Division'], how='inner',suffixes=('1',' 3'))
m14=pd.merge(df1, df4, on=['Circle','Division'], how='inner',suffixes=('1',' 4'))
m23=pd.merge(df2, df3, on=['Circle','Division'], how='inner',suffixes=('2',' 3'))
m24=pd.merge(df2, df4, on=['Circle','Division'], how='inner',suffixes=('2',' 4'))
m34=pd.merge(df3, df4, on=['Circle','Division'], how='inner',suffixes=('3',' 4'))
使用带有^{} 的^{} 和参数
keys
将所有数据帧连接在一起,展平MultiIndex
按^{} 创建新列以获取每行非} 进行筛选:
NaN
的值,并按^{相关问题 更多 >
编程相关推荐