Применить исальфу к списку - PullRequest
0 голосов
/ 10 апреля 2020

Я новичок в python. У меня есть проект НЛП, и мне нужно удалить частоты из моих ключевых слов. Я успешно сделал это в одном ряду, который я сделал в списке.

Таким образом, ввод: токены = ['fiber', '16', ';', 'quoi', '1', ';', 'dangers', '1',]

используя

tokens = [word for word in tokens if word.isalpha()

это вывод ['fiber', 'quoi', 'опасностей',]

Теперь я хотел бы применить это ко всему столбцу. Вот что у меня есть:

from nltk import word_tokenize,sent_tokenize
tokens = cleaningkey.apply(word_tokenize)
tokens.head(5)

вывод:

0    [fibre, 16, ;, quoi, 1, ;, dangers, 1, ;, comb...
1               [restaurant, 1, ;, marrakech.shtml, 1]
2    [payer, 1, ;, faq, 1, ;, taxe, 1, ;, habitatio...
3    [rigaud, 3, ;, laurent, 3, ;, photo, 11, ;, pr...
4    [societe, 1, ;, disparition, 1, ;, proche, 1, ...
Name: text_norm, dtype: object

Я пробовал разные вещи, но продолжаю получать (список «объект не имеет атрибута« isalpha »). Может кто-нибудь сказать мне, как действовать?

Спасибо!

1 Ответ

1 голос
/ 10 апреля 2020

Вы должны применить тестовую функцию к каждому элементу списка:

cleaningkey.apply(lambda lst: [word for word in lst if word.isalpha()])
#0    [fibre, quoi, dangers]
#1              [restaurant]

В качестве альтернативы:

df.cleaningkey.apply(lambda lst: list(filter(str.isalpha, lst)))
#0    [fibre, quoi, dangers]
#1              [restaurant]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...