Python 模式过滤

Python 模式过滤,python,pandas,Python,Pandas,我正在尝试通过一列是否包含字符串中的单词来过滤数据帧,我尝试了以下方法: text="Abacus and androgeny and for" tokenized = tknzr.tokenize(text.lower()) pattern= "|".join(tokenized) lexicon = lexicon[lexicon["English (en)"].str.match(pattern, na = False)] 这实际上不起作用,因为以“for”开头的单词(如伪造)会匹配。为

我正在尝试通过一列是否包含字符串中的单词来过滤数据帧,我尝试了以下方法:

text="Abacus and androgeny and for"
tokenized = tknzr.tokenize(text.lower())
pattern= "|".join(tokenized)
lexicon = lexicon[lexicon["English (en)"].str.match(pattern, na = False)]

这实际上不起作用,因为以“for”开头的单词(如伪造)会匹配。为了清楚起见,我只希望行与文本中的一个单词完全匹配。

如果我理解正确,您仅使用“匹配”来确定列中的单词是否为文本中的一个单词? 如果是这样,我会尝试:

lexicon = lexicon[lexicon["English (en)"].isin(tokenized)]

通过这种方式,匹配将在精确的单词上,因为它会将其与单词列表进行比较。

这非常有效。我不知道为什么我会在尝试使用match时陷入困境,非常感谢。