我有两个具有6000行和20列的数据框。我想在3列上比较这两个数据帧,以便如果值匹配,那么那些匹配的行将转到新的日期帧,如果值不匹配,则它们将转到另一个新的数据帧。为此,我尝试使用if语句,但给我一个错误,即“ 系列的真值不明确。请使用a.empty,a.bool(),a.item(),a.any( )或a.all()。”,我在线检查了所有内容以解决问题,但失败了。
In if statement, it shows a error
任何帮助将不胜感激。
答案 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'])