擅长:python、mysql、java
<p>您可以将分隔符连接到列表中,并通过<code>"|".join</code>将它们连接起来,以将其转换为更大的模式。从那里,<code>Series.str.extract</code>可以得到所有匹配项,我们重新调整形状以匹配原始大小</p>
<pre><code>seperators = [r"^(.*?) in\b", r"\b may contain (.*)$", r"\b due to (.*)$"]
sep_pattern = r"|".join(seperators)
example["hazard"] = (example["title"].str.extract(sep_pattern)
.stack()
.droplevel(1))
print(example)
title hazard
0 Undeclared milk in Burnbrae Undeclared milk
1 Undeclared milk in certain Bumble Undeclared milk
2 Certain cheese products may contain listeria listeria
3 Ocean brand recalled due to Salmonella Salmonella
4 IQF Raspberries due to Listeria Listeria
</code></pre>