2016-08-24 10 views
1

私はdf1['LicId']df2['LicId']という2つのデータフレームを持っています。Pythonの2つのデータフレーム値を比較する

df1['LicId']は常に一つの値

LicId 
0 abc1234 

を持っていますがdf2['LicId']は私の仕事は、df2['LicId']df1['LicId']を比較し、両者の間に一致がある場合にのみコードを実行することで、いくつかのIds

LicId 
0 abc1234 
1 xyz2345 

を持っています。

私が試してみました:

if df1['LicId'][0]==df2['LicId'][0]: 
    remaining code 

をしかし、これだけabc1234をチェックします - それはdf2のすべてのインデックスの値をチェックする必要があります。その後、私はxyz2345をdf1に持っているかもしれません。

誰かが私にこれを処理する方法を教えてもらえますか?

+0

申し訳ありませんが、あなたの質問は非常に悪い言葉で表現されます。私はあなたが何をしたいのか分かりません。 – elelias

+0

それについて申し訳ありません - あるデータフレームの値を他のデータフレームの値と比較するにはどうすればいいですか?私は自分のコードを実行する必要がありますこれらの2つの値だけが等しいです。 – Prasad

+0

希望の出力とともにデータフレームのサンプルを投稿できますか? – ayhan

答えて

1

あなたはisin()で値を一致させることができます。

df1 = pd.DataFrame({'LicId':['abc1234', 'a', 'b']}) 
df2 = pd.DataFrame({'LicId':['abc1234', 'xyz2345', 'a', 'c']}) 

df1

 LicId 
0 abc1234 
1  a 
2  b 

df2

 LicId 
0 abc1234 
1 xyz2345 
2  a 
3  c 

マッチング値:

if len(df2.loc[df2['LicId'].isin(df1['LicId'])]) > 0: 
    print(df2.loc[df2['LicId'].isin(df1['LicId'])]) 
    #remaining code 

出力:

 LicId 
0 abc1234 
2  a 
+0

'isin'は、データフレームに一致するインデックスとカラムラベルの両方を必要とします – Anzel

関連する問題