Проверьте, содержит ли ячейка в панде dataframe элемент из списка - PullRequest
1 голос
/ 12 февраля 2020

У меня есть фрейм данных, который состоит из двух столбцов: один для topi c другой с высказыванием. Это что-то вроде «play musi c», «play Madonna» или «слушайте Майкла Джексона». У меня есть список с именами исполнителей, и я хочу проверить, есть ли имя исполнителя в ячейке информационного кадра.

Для имен из одного слова у меня есть такое решение: (Я использовал 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))

При наличии имени исполнителя или названия альбома слово будет заменено другим форматом.

Проблема теперь в том, что он не распознает что-то вроде «Майкла Джексона», потому что проверяет слова.

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...