Я новичок в Pandas и пытаюсь понять, как лемматизировать один столбец моего фрейма данных. Возьмем следующий пример (это некоторый текст после удаления (не)распространенного слова, который я хотел бы лемматизировать):
0 хорошо нуждается в изменениях virgils natural micro brewe...
1 новый фаворит с восхитительным сюрпризом находит фл...
2 любимых соуса с красным соусом, наслаждайтесь сильными танинами, ок, тяните...
3 качественных фантастических напитка 1800-х годов 21-го века...
4 красных первый раз пробую любовь 100отличная смесь ...
Это код, который я использую для лемматизации (взято из здесь):
df['words'] = df['words'].apply(lambda x: "".join([Word(word).lemmatize() for word in x]))
df['words'].head()
Но как только этот код запускается, вывод не меняется:
0 хорошее, нужно изменить virgil, натуральный микропивоваренный р ...
1 новый фаворит с восхитительным сюрпризом находит фл...
2 любимых соуса с красным соусом, наслаждайтесь сильными танинами, ок, тяните...
3 качественных фантастических напитка 1800-х годов 21-го века...
4 красных первый раз пробую любовь 100отличная смесь ...
Любая помощь будет принята с благодарностью :)
P.S: words
— это список токенизированных слов
needs
=>need
,changes
=>change
иvirgils
=>virgil
, поэтому вывод действительно меняется. - person Scratch'N'Purr   schedule 10.07.2018trying
, не должно ли оно статьtry
? Илиbrewed
должно статьbrew
- person Stefano Pozzi   schedule 10.07.2018lemmatize
без указания POS, произойдет сбой. Следовательно, в случаеtrying
иbrewed
код должен бытьWord('trying').lemmatize('v')
иWord('brewed').lemmatize('v')
. Источник - person Scratch'N'Purr   schedule 10.07.2018