首页 > 解决方案 > 将语料库中的名称部分匹配到 Pandas 数据框中另一列中的名称

问题描述

我有一个这样的数据框

                            Name                            Corpus
0  James Bond Junior Bristleback     Agent James Bond went missing
1            Batman Bin Superman      Superman saves the day again
2                  Thor S/O Odin  Loki was last seen in March 2020

我希望得到这个输出。

                            Name                            Corpus  Value
0  James Bond Junior Bristleback     Agent James Bond went missing   True
1            Batman Bin Superman      Superman saves the day again   True
2                  Thor S/O Odin  Loki was last seen in March 2020  False

我以前尝试过正则表达式,但似乎无法获得所需的输出。反正有没有用正则表达式或其他一些库/包来实现这一点?

标签: python-3.xregexpandasdataframenlp

解决方案


不确定这是否完全符合您的需求。它本质上是将每个句子转换为一组单词,并检查是否有任何重叠:

df.Name.str.split().apply(set) & df.Corpus.str.split().apply(set)

输出:

0     True
1     True
2    False
dtype: bool

推荐阅读