我有一个包含像这样的句子的 pandas.Series
:
0 mi sobrino carlos bajó conmigo el lunes
1 juan antonio es un tio guay
2 voy al cine con ramón
3 pepe el panadero siempre se porta bien conmigo
4 martha me hace feliz todos los días
另一方面,我有一个像这样的名字姓氏列表:
l = ['juan', 'antonio', 'esther', 'josefa', 'mariano', 'cristina', 'carlos']
我想将系列中的句子与名单中的姓名匹配。实际数据比这个例子要大得多,所以我认为逐个比较系列和名单中的元素效率不高,因此我创建了一个包含所有姓名字符串的大字符串,如下所示:
'|'.join(l)
我试图创建一个布尔掩码,后来可以通过true或false值索引包含在名称列表中的句子,如下所示:
series.apply(lambda x: x in '|'.join(l))
但它返回:
0 False
1 False
2 False
3 False
4 False
这显然是不好的。
我也尝试使用
str.contains()
,但它的行为与我的预期不同,因为该方法会查看系列中是否存在名称列表中的任何子字符串,这不是我所需要的(即我需要精确匹配)。请问您能否指点我正确的方向?
非常感谢您提前的帮助。