如何将不同数据框中的多个列与Pandas比较

时间:2019-11-07 11:03:23

标签: python pandas

我有两个具有6000行和20列的数据框。我想在3列上比较这两个数据帧,以便如果值匹配,那么那些匹配的行将转到新的日期帧,如果值不匹配,则它们将转到另一个新的数据帧。为此,我尝试使用if语句,但给我一个错误,即“ 系列的真值不明确。请使用a.empty,a.bool(),a.item(),a.any( )或a.all()。”,我在线检查了所有内容以解决问题,但失败了。

In datatype it shows boolean

In if statement, it shows a error

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

对于行匹配的数据帧,您可以使用内部联接来完成(两个数据帧中匹配的行都会进入新数据帧)。看到下面的东西应该起作用

joined_df_match = df1.merge(df2, how = 'inner', left_on = ['col1','col2','col3'], right_on = ['col1','col2','col3'])

当它们不匹配时,您可以使用外部联接

joined_df_non = df1.merge(df2, how = 'outer', left_on = ['col1','col2','col3'], right_on = ['col1','col2','col3'])