我有两个数据框df1['LicId']
和df2['LicId']
。
df1['LicId']
将始终有一个值
LicId
0 abc1234
但是df2['LicId']
会有几个ID
LicId
0 abc1234
1 xyz2345
我的任务是将df1['LicId']
与df2['LicId']
进行比较,并仅在两者之间存在匹配时执行代码。
我试过了:
if df1['LicId'][0]==df2['LicId'][0]:
remaining code
但是,这只会检查abc1234
- 它必须检查df2
的所有索引值。之后,我在df1中也可能有xyz2345
。
有人可以告诉我如何处理这个问题吗?
答案 0 :(得分: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