Как избежать извлечения панд, приносящих частичное совпадение - PullRequest
0 голосов
/ 02 ноября 2018

Сценарий: -

У меня есть датафрейм следующим образом

full_sentence

Багажный
возраст

список ключевых слов

key_words = ['age', 'man']

Цель: -

Мне нужно посмотреть, существует ли в этом столбце слово «возраст» [индивидуально], и если оно существует, сделать это отдельным столбцом

Желаемый выход: -

full_sentence | found_word

Багаж | NaN возраст | возраст

Используемая команда: -

Dataframe.str.extract ( '({})' формат (. '|' .Join (key_words)), флаги = re.IGNORECASE, расширение = False) .astype (ул)

Выход с несоответствием

full_sentence | found_word

Багаж | возраст возраст | возраст

Разъяснение: - Похоже, extract также выполняет частичное совпадение строки. Может быть сделано, чтобы извлечь, только если все слово соответствует.

Спасибо

1 Ответ

0 голосов
/ 02 ноября 2018

Измените соответствие регулярному выражению на r'^({})$'.format(r'|'.join(key_words)). ^ в регулярном выражении означает начало строки / строки, а $ означает конец строки / строки. Вы также должны перейти на необработанные строки с r'', как указано выше для шаблонов регулярных выражений.

См. Python3 или Документация по регулярному выражению Python2 для получения дополнительной информации.

...