Как посчитать частоту слов в кадре Python? - PullRequest
0 голосов
/ 23 октября 2018

Я загрузил текстовый файл Excel.Я хочу посчитать, сколько раз каждое слово встречается, например:

Вывод:

was 2
report 1
county 5
increase 2

Код:

 news = pd.read_excel('C:\\Users\\farid-PC\\Desktop\\Tester.xlsx')
 pd.set_option('display.max_colwidth', 1000)
 print(news)
 #implement word counter?

Текущий вывод:

   Text
0  Trump will drop a bomb on North Korea
1  Building a wall on the U.S.-Mexico border will take literally years
2  Wisconsin is on pace to double the number of layoffs this year.
3  Says John McCain has done nothing to help the vets.
4  Suzanne Bonamici supports a plan that will cut choice for Medicare 

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 23 октября 2018

С пандами, используя split, stack и value_counts:

series = df.Text.str.split(expand=True).stack().value_counts()

Альтернатива на основе Python, использующая chain.from_iterable (для выравнивания) и Counter (дляcount):

from collections import Counter
from itertools import chain

counter = Counter(chain.from_iterable(map(str.split, df.Text.tolist()))) 

Пересоздайте серию отсчетов, используя:

series = pd.Series(counter).sort_values(ascending=False)

, который идентичен описанному выше решению для панд и должен быть намного быстрее, так как в нем не используется стек (stack - медленная операция).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...