d1['E'] = (d1.merge(d2, on=['A', 'C'], how='left', indicator=True)
.eval('_merge == "both"')
.astype(int))
d1
A B C D E
0 X 6 7 23 0
1 Y 3 4 35 1
2 B 5 8 45 0
3 D 11 7 15 1
4 L 10 1 5 1
下面是一种低效的方法,使用元组转换和isin检查:
d1['E'] = (
d1[['A', 'C']].apply(tuple, axis=1).isin(d2.apply(tuple, axis=1)).astype(int))
d1
A B C D E
0 X 6 7 23 0
1 Y 3 4 35 1
2 B 5 8 45 0
3 D 11 7 15 1
4 L 10 1 5 1
我将使用
merge
(对于左外连接)和一个指示符:下面是一种低效的方法,使用元组转换和
isin
检查:我宁愿自己发这个,这样我可以告诉你我不推荐使用它。你知道吗
相关问题 更多 >
编程相关推荐