检查熊猫数据框中的单元格是否包含列表中的元素

时间:2020-02-12 15:50:16

标签: python pandas nlp

我有一个数据框,该数据框由两列组成:一列用于主题,另一列带有话语。 这些话语类似于“播放音乐”,“播放麦当娜”或“听迈克尔·杰克逊”。 我有一个包含艺术家姓名的列表,现在想检查数据框的单元格中是否有艺术家姓名。

对于单字名称,我有以下解决方案: (我将spacy用于nlp处理)

for row in range(0,nrows):
    text = df.loc[row]['utt']     
    words = nlp(text)
        for word in words:
            if word.text in artists:
                df.loc[row]['utt'] = text.replace(word.text, format_artist(word.text))
            if word.text in albums:
                df.loc[row]['utt'] = text.replace(word.text, format_album(word.text))

如果有歌手姓名或专辑名称,则该单词将替换为其他格式。

现在的问题是它无法识别“迈克尔·杰克逊”之类的东西,因为它正在逐字检查。

感谢您的帮助!

0 个答案:

没有答案