如何解决使用正则表达式从 Pandas 列中的集合中搜索关键字/短语
我有一组关键字和短语,其中包括 unigrams、bigrams、trigrams、4-grams 和 5-grams。我想在 Pandas DataFrame 中搜索该集合的词汇表,并在 Pandas 单元格中识别这些关键字/短语的匹配项。
关键字和短语集的示例如下(总长度 = 420):
ccv_set = [['solar','energy'],['solar','cell'],['emission','certificate','credit,'trading']...]
所以,我想找到这些表达 在熊猫专栏中,彼此之间的距离为 50,即如果术语“太阳能”与术语“能源”相距 50 个词,则搜索将其选中。此外,出现的顺序无关紧要。为此,我使用了以下代码。
代码似乎工作不正常,即没有以任何顺序或彼此之间的距离返回 ccv_set 匹配的关键字。
我应该使用什么正则表达式,以便代码以任意顺序在 50 个关键字内的任何位置搜索表达式 ['solar','energy'] 的文本?
ccv_set_lem = [[lmtzer.lemmatize(token) for token in sentence.split(" "),for sentence in ccv_set]]
nested_tuples_ccv_set_lem = [tuple(l) for l in ccv_set_lem]
pat_lem = '/'.join("\W+(?:\w+\W+).{0.50}?".join(x) for x in nested_tuples_ccv_set_lem
df['KW'] = df.specification_preprocess.str.findall(pat_lem)```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。