2016-05-16 88 views
-2

我有两个DataFrame合并2个dataframes在大熊猫与条件

df1; columns - a, b, c 
df2; columns - d, e 

我想merge DF1留下DF2上df1.a = df2.d和结果的新列“F”与pd.isnull(e,c)

如何加入我可以这样做吗?

+0

您可以在'df1','df2'(3,4行)和期望的输出中添加数据样本吗? – jezrael

回答

0

如何:

merged = df1.merge(df2, left_on='a', right_on='d' how='left') 
merged['f'] = pd.isnull(merged[['e', 'c']]).any(axis=1) 

.merge()docs。使用.any(axis=1).all(axis=1),具体取决于您想要检查的内容。

+0

谢谢Jansen。我如何以'<>'条件加入数据框。 加入df1.a <> df2.d –

+0

听起来像你可能想'merge(..,how ='outer')'然后'merged [merged.a!= merged.d]' – Stefan

+0

我不是肯定你说什么做需要,具体而言,我的等价sql是“select * from df1 inner df2 on df1.b = df2.e and df1.b <> df2.d and df1.c = 0” –