2016-11-22 18 views
0

データフレームdf1とカラムID2, Name2, ID3, Name3があります。他の2つのデータフレームdf2(列:Name2, ID2)とdf3(列:Name3, ID3)が同じ列にあります。私は次のように私がいる、IDの一致に基づいて、df2df3をマージしようとしています:パンダを使用した条件に基づいて追加

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

今、私はID2/ID3がすでにdf1に存在しない場合にのみ、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

関連する問題