我有两个不同长度的df(df1,df2)。我想在df2中找到df1中存在的值,然后用布尔值创建一个新列,显示这些值是否存在。df2只包含1列,比df1少行。以下是dfs的一个示例:
df1:
Name ID CRITICAL RATING
win mrp53 YES 8
lin mrp54 No 3
mac 0989 YES 8
win mrp56 YES 8
mac 786 YES 8
win hte45 YES 8
.
.
df2:
ID
mrp53
hfy56
dggg4
gfgshh4
比较后,df应如下所示:
Name ID CRITICAL RATING IS_PRESENT
win mrp53 YES 8 TRUE
lin mrp54 No 3 FALSE
mac 0989 YES 8 FALSE
win mrp56 YES 8 FALSE
我正在使用下面的,它正在创建列,但值是错误的。一切都是假的:
new_df = df1['ID'].assign(IS_PRESENT= df1['ID'].isin(df2['ID]).astype(bool)
有没有关于如何实现这一目标的建议
下面的代码应该足够了
df2['ID']
返回序列isin
接受Series作为其参数,并基于组成员身份返回布尔值您需要使用isin函数documentation
试试这个
相关问题 更多 >
编程相关推荐