В этой статье блога мы рассмотрим различные методы Python для подсчета и составления списка слов в текстовом файле на основе их частоты. Мы предоставим примеры кода для каждого метода, что позволит вам выбрать тот, который лучше всего соответствует вашим потребностям.
Методы:
Метод 1: использование словаря
word_count = {}
with open('text_file.txt', 'r') as file:
for line in file:
words = line.split()
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
for word, count in sorted_word_count:
print(word, count)
Метод 2: использование модуля «Коллекции»
import collections
word_count = collections.Counter()
with open('text_file.txt', 'r') as file:
for line in file:
words = line.split()
word_count.update(words)
sorted_word_count = word_count.most_common()
for word, count in sorted_word_count:
print(word, count)
Метод 3. Использование библиотеки Pandas
import pandas as pd
df = pd.read_csv('text_file.txt', sep='\s+', header=None, names=['Words'])
word_count = df['Words'].value_counts().reset_index()
word_count.columns = ['Word', 'Count']
print(word_count)
Метод 4. Использование набора инструментов естественного языка (NLTK)
import nltk
from nltk.corpus import stopwords
nltk.download('stopwords')
stop_words = set(stopwords.words('english'))
word_count = {}
with open('text_file.txt', 'r') as file:
for line in file:
words = line.split()
for word in words:
word = word.lower()
if word not in stop_words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
for word, count in sorted_word_count:
print(word, count)
Метод 5: использование класса счетчика из модуля «Коллекции» с регулярными выражениями
import re
import collections
word_count = collections.Counter()
with open('text_file.txt', 'r') as file:
for line in file:
words = re.findall(r'\w+', line.lower())
word_count.update(words)
sorted_word_count = word_count.most_common()
for word, count in sorted_word_count:
print(word, count)
Это всего лишь несколько методов, которые вы можете использовать в Python для подсчета и составления списка слов в текстовом файле на основе их частоты. Каждый метод имеет свои преимущества и может подойти для разных сценариев. Используя эти методы, вы сможете эффективно анализировать текстовые данные и получать ценную информацию.