Count Word Frequency in Python with Counter
Which words appear most? Split the text, count with collections.Counter and get the top words in one call.
- Normalizing text and extracting words with re.findall
- Counting with collections.Counter
- Finding the most common words
"python"2"is"2"clear"1"practical"1Text → words → counts
Подсчёт частоты слов - очень распространённая задача обработки текста: её решают поисковые системы, анализ контента и обработка естественного языка. Перед подсчётом текст нужно нормализовать, чтобы одинаковые слова вроде "Python" и "python" считались вместе.
Главное
- Lowercase the text first so
"Python"and"python"count as one word. re.findall(r"[a-z]+", text)picks out the words and drops punctuation.Counter(words)maps each word to how often it appears.counts.most_common(3)returns the top three.
Когда это нужно?
- Освоить синтаксис и основные понятия Python на коротких и понятных примерах.
- Заложить прочную основу, прежде чем переходить к более сложным задачам.
- Запускать код прямо в браузере, не устанавливая Python на компьютер.
Пример кода
from collections import Counter
import re
text = "Python is clear. Python is practical."
words = re.findall(r"[a-z]+", text.lower())
print(Counter(words))
Результат выполнения
Counter({'python': 2, 'is': 2, 'clear': 1, 'practical': 1})
Разбор кода
Вызов text.lower() переводит весь текст в нижний регистр, а регулярное выражение [a-z]+ оставляет только последовательности букв и пропускает знаки препинания. Counter считает каждое слово за один проход и сортирует слова по убыванию частоты, поэтому python и is встречаются по 2 раза.
Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.
Упражнения для практики
Попробуйте изменить код по подсказкам ниже. Если менять код и смотреть на результат, урок запомнится гораздо лучше, чем при простом чтении.
- Измените входные данные и предскажите результат до запуска.
- Добавьте проверку пустых или неверных данных.
- Вынесите обработку в отдельную функцию и проверьте её на нескольких наборах данных.
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
- Подсчёт слов Посчитайте количество слов в предложении. Легко
- Частота символов Посчитайте, сколько раз встречается каждый символ. Легко
- Tournament Standings Rank teams from match records. Средне