【发布时间】:2021-02-03 13:05:48
【问题描述】:
我正在这里寻求帮助。我有两个数据框 DF1 和 DF2。 DF1 包含员工编号及其姓名。 DF2 包含员工编号和评论列。我想查找 DF2 中的 Comments 列是否包含 DF1 中存在的与其 Emp 编号唯一值相对应的名称。如果名称存在于 DF2 的 Comments 列中,则应返回“名称存在”。如果名称在 cmets 列中不存在,则应返回“名称不存在”
如果有人可以提供帮助,我们将不胜感激。 TIA
【问题讨论】:
我正在这里寻求帮助。我有两个数据框 DF1 和 DF2。 DF1 包含员工编号及其姓名。 DF2 包含员工编号和评论列。我想查找 DF2 中的 Comments 列是否包含 DF1 中存在的与其 Emp 编号唯一值相对应的名称。如果名称存在于 DF2 的 Comments 列中,则应返回“名称存在”。如果名称在 cmets 列中不存在,则应返回“名称不存在”
如果有人可以提供帮助,我们将不胜感激。 TIA
【问题讨论】:
将numpy.where 与Series.str.contains 与正则表达式与\b\b 一起用于单词边界,并在可能的情况下使用re.escape 一些特殊的正则表达式字符:
import re
pat = '|'.join(r"\b{}\b".format(re.escape(x)) for x in DF1['Name'])
DF2['new'] = np.where(DF2['Name'].str.contains(pat),
'Name exist',
'Name does not exist')
【讨论】: