2016-11-22 138 views
0

我有一個數據框df1與列ID2, Name2, ID3, Name3。我有其他兩個數據幀df2(列:Name2, ID2)和df3(列:Name3, ID3)與相同的列。我試圖合併df2基於匹配的ID,這是我做如下df3根據條件附加使用熊貓

Solution = pd.merge(df2,df3, left_on='ID2',right_on='ID3').sort_values('Name2') 

現在我想這個結果追加到df1,只有當ID2/ID3不存在在df1。我怎麼做?

+0

追加然後[drop_duplicates](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html#pandas-dataframe-drop -duplicates)??? – wwii

+0

我想在追加之前檢查它。 – ComplexData

回答

2

使用isin

df1.append(Solution[~Solution['ID2'].isin(df1['ID1'])]) 
+0

謝謝。好的解決方案在最後添加')'。它失蹤了! – ComplexData

+0

@piRSquared謝謝。加2'!'最後。它失蹤了! – Boud

+0

沒有無名英雄給你! – piRSquared