首页 > 解决方案 > 使用 python Pandas 在 excel 单元格中查找确切的关键字

问题描述

我在这里寻找一些帮助。我有两个数据框 DF1 和 DF2。DF1 包含员工编号及其姓名。DF2 包含员工编号和评论列。我想查找 DF2 中的 Comments 列是否包含 DF1 中存在的与其 Emp 编号唯一值相对应的名称。如果名称存在于 DF2 的 Comments 列中,则应返回“名称存在”。如果名称在注释列中不存在,则应返回“名称不存在”

在此处输入图像描述 在此处输入图像描述

感谢有人可以提供帮助。TIA

标签: pythonpandasdataframe

解决方案


使用numpy.wherewithSeries.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')

推荐阅读