2016-08-24 6 views
1

У меня есть два информационных кадра df1['LicId'] и df2['LicId'].Сравнение двух значений фрейма данных в python

df1['LicId'] всегда будет иметь одно значение

LicId 
0 abc1234 

Однако df2['LicId'] будет иметь несколько Идентификаторы

LicId 
0 abc1234 
1 xyz2345 

Моя задача состоит в том, чтобы сравнить df1['LicId'] с df2['LicId'] и выполнить код, только если существует совпадение между двумя ,

Я попытался:

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

Однако это будет проверять только abc1234 - Он должен проверить для всех значений индекса в df2. Позже у меня также может быть xyz2345 в df1.

Может ли кто-нибудь дать мне знать, как с этим справиться?

+0

Извините, но ваш вопрос очень плохо сформулировано. Я понятия не имею, что вы хотите сделать. – elelias

+0

Извините, что - Как сравнить значение одного кадра данных со значениями другого фрейма данных? Я должен выполнить свой код, только эти два значения равны. – 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' потребуются как метки индекса, так и столбцы, соответствующие для dataframe – Anzel

Смежные вопросы