Как остановить pandas dataframe с помощью nltk?Результатом должен быть строб данных - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь предварительно обработать набор данных.Набор данных содержит текстовые данные.Я создал панду DataFrame из этого набора данных.у меня вопрос, как я могу использовать основание на DataFrame и получить в качестве вывода основанный на DataFrame?

1 Ответ

0 голосов
/ 03 апреля 2019

Имея определенные панды df, вы можете остановить содержимое, применив функцию stemming для всего df после токенизации слов.

Для этого я в качестве примера использовал стеблер снежного кома от nltk.

from nltk.stem.snowball import SnowballStemmer
englishStemmer=SnowballStemmer("english") #define stemming dict

А это токенизатор:

from nltk.tokenize import WhitespaceTokenizer

Определите свою функцию:

def stemm_texts(text):
    return [englishStemmer.stem(w) for w in w_tokenizer.tokenize(str(text))]

Примените функцию к вашему df:

df = df.apply(lambda y: y.map(stemm_texts, na_action='ignore'))

Обратите внимание, что я дополнительно добавил часть игнорирования NaN.

Возможно, вы захотите снова детокенизировать:

from nltk.tokenize.treebank import TreebankWordDetokenizer

detokenizer = TreebankWordDetokenizer()
df = df.apply(lambda y: y.map(detokenizer.detokenize, na_action='ignore'))
...