Я бы хотел трансформировать эту серию
from nltk import word_tokenize, pos_tag
from nltk.corpus import stopwords
stop_words = set(stopwords.words("english"))
df = pd.Series([["comic of book", "horror of movie"], ["dark", "dark french"]])
>> 0 [comic of book, horror of movie]
>> 1 [dark, dark french]
, удалив stopwords
и сохранив только существительные (NN
в nltk
). Я думаю, что функция apply
является лучшим решением, однако применение ее непосредственно к этим текстам приводит к потере информации. Я получаю это
df.apply(lambda x: [wrd for ing in x for wrd in word_tokenize(ing) if wrd not in stop_words])
0 [comic, book, horror, movie]
1 [dark, dark, french]
вместо
0 [comic book, horror movie]
1 [dark, dark french]
Я что-то упускаю в for loop
, и каждый bag of words
разделяется на уникальный words
(может быть, apply
здесь нехорошо)