Python Pandas NLTK Как применить Port Stemmer к столбцу Dataframe, который уже был токенизирован - PullRequest
0 голосов
/ 28 ноября 2018

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

No  category    problem_definition
175 2521        ['coffee', 'maker', 'brewing', 'properly', '420']
211 1438        ['galley', 'work', 'table', 'stuck']
912 2698        ['cloth', 'floor', 'coming', 'aft']
572 2521        ['compartment', 'door', 'stuck']

Поле problem_definition уже прошло удаление стоп-слов и токенизацию.Сейчас я пытаюсь применить Port Stemmer к столбцу problem_definition.

Я попробовал следующий код:

from nltk.stem import PorterStemmer

ps = PorterStemmer()

df['problem_definition_stemmed'] = df['problem_definition_stopwords'].apply(lambda x : [PorterStemmer.stem(y) for y in x])

Я получаю следующую ошибку:

TypeError: 'PorterStemmer' object is not callable

1 Ответ

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

PosrterStemmer - конструктор класса.У него нет метода .stem.Фактический стеммер - ps.PorterStemmer.stem(y) должно быть ps.stem(y).

...