检查两个不同列中df中的两个值是否存在于不同df中?

时间:2019-04-24 07:00:23

标签: python-3.x pandas dataframe conditional

我有一个dfa和dfb,看起来都像下面这样,

id      start_time  
ab23     2019-04-01 23:00:00.000
bv63     2019-04-01 23:15:00.000
ab20     2019-04-01 21:00:00.000
bv43     2019-04-01 22:15:00.000

id      start_time  
ab23     2019-04-01 23:00:00.000
bv43     2019-04-01 23:15:00.000

我想找出两个dfs中是否存在具有相同start_time的ID?

我尝试了

matches = dfa['start_time'].isin(dfb['start_time'])
dfa['id'][matches]

但是它表明两个df中的每个行都麻烦了,但这不是上面的代码有问题吗?

1 个答案:

答案 0 :(得分:1)

我认为您需要DataFrame.merge的两列都具有默认的内部联接:

out = dfa.merge(dfb, on=['start_time', 'id'])['id']
print (out)
0    ab23
Name: id, dtype: object