首页 > 解决方案 > 检查熊猫数据框中的单元格是否包含列表中的元素

问题描述

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

对于单字名称,我有这个解决方案:(我使用 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))

如果有艺术家姓名或专辑标题,则该词将被替换为不同的格式。

现在的问题是它无法识别像“michael jackson”这样的东西,因为它正在逐字检查。

谢谢您的帮助!

标签: pythonpandasnlp

解决方案


推荐阅读