提问者:小点点

熊猫从一列中找到精确给定的字符串/单词


所以,我有一个熊猫专栏名笔记,其中包含了一个句子或一些事件的解释。 我试着从那一栏中找到一些给定的单词,当我找到那个单词时,我会把它作为类型添加到下一栏中

问题是对于一些特定的词,例如Liar,在于它会选择熟悉和家庭这样的词,因为它们中都有Liar和Lies。

Notes                                  Type
2 families are living in the address   Lies
He is a liar                           Liar
We are not familiar with this          Liar

正如你从上面看到的,只有第二句是正确的。 我怎么能只记得像说谎者,谎言,而不记得家人或熟悉。

这就是我的方法,

word= ["Lies"]

for i in range(0, len(df)):
    for f in word:
        if f in df["Notes"][i]:
            df["Type"][i] = "Lies"

感谢任何帮助。 谢谢


共1个答案

匿名用户

regex中使用\b作为单词边界,使用.str.extract查找模式:

 df.Notes.str.extract(r'\b(lies|liar)\b')