2016-05-16 89 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」 –