检查来自一个数据框的值是否在另一个数据框中 [英] Check if value from one dataframe exists in another dataframe

查看:52
本文介绍了检查来自一个数据框的值是否在另一个数据框中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个数据框.

Df1 = pd.DataFrame({'name': ['Marc', 'Jake', 'Sam', 'Brad']
Df2 = pd.DataFrame({'IDs': ['Jake', 'John', 'Marc', 'Tony', 'Bob']

我想遍历Df1['name']中的每一行,并检查每个名称是否在Df2['IDs']中.

I want to loop over every row in Df1['name'] and check if each name is somewhere in Df2['IDs'].

如果名称在其中,则结果应返回1,否则返回0:

The result should return 1 if the name is in there, 0 if it is not like so:

Marc  1 
Jake  1
Sam   0 
Brad  0

谢谢.

推荐答案

使用isin

Df1.name.isin(Df2.IDs).astype(int)

0    1
1    1
2    0
3    0
Name: name, dtype: int32


在数据框中显示结果


Show result in data frame

Df1.assign(InDf2=Df1.name.isin(Df2.IDs).astype(int))

   name  InDf2
0  Marc      1
1  Jake      1
2   Sam      0
3  Brad      0


在系列对象中


In a Series object

pd.Series(Df1.name.isin(Df2.IDs).values.astype(int), Df1.name.values)

Marc    1
Jake    1
Sam     0
Brad    0
dtype: int32

这篇关于检查来自一个数据框的值是否在另一个数据框中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆