词频统计是文本处理中常见的任务之一,通过统计文本中每个词出现的次数,可以帮助我们了解文本的内容和特点。本文将介绍如何使用 Python 来实现简单的词频统计,涉及到列表、字符串操作、字典和循环等基本概念。
1. 数据准备
首先,我们需要准备一个文本数据,可以是一段文章、一本书或者任何包含文本的内容。例如,我们准备了一段简单的文本数据:
text = "Python是一种简单易学、功能强大的编程语言,广泛应用于Web开发、数据分析和人工智能等领域。Python由Guido van Rossum于1991年创建,目前由Python软件基金会维护。"
复制代码
2. 分词和统计词频
接下来,我们需要对文本进行分词,并统计每个词出现的次数。我们可以利用字符串的 split()
方法进行分词,然后使用字典来存储每个词和对应的出现次数。
# 分词
words = text.split()
# 统计词频
word_freq = {}
for word in words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
复制代码
3. 输出结果
最后,我们可以输出统计结果,将词频按照从高到低的顺序进行排序,并输出前几个词频最高的词及其出现次数。
# 排序词频
sorted_word_freq = sorted(word_freq.items(), key=lambda x: x[1], reverse=True)
# 输出前几个词频最高的词及其出现次数
top_n = 5
for word, freq in sorted_word_freq[:top_n]:
print(f"{word}: {freq}次")
复制代码
完整代码
下面是完整的代码:
text = "Python是一种简单易学、功能强大的编程语言,广泛应用于Web开发、数据分析和人工智能等领域。Python由Guido van Rossum于1991年创建,目前由Python软件基金会维护。"
# 分词
words = text.split()
# 统计词频
word_freq = {}
for word in words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
# 排序词频
sorted_word_freq = sorted(word_freq.items(), key=lambda x: x[1], reverse=True)
# 输出前几个词频最高的词及其出现次数
top_n = 5
for word, freq in sorted_word_freq[:top_n]:
print(f"{word}: {freq}次")
复制代码
运行以上代码,即可输出文本中词频最高的几个词及其出现次数。
通过这个简单的示例,读者可以了解如何利用 Python 中的列表、字符串操作和字典来实现词频统计功能。这是一个很有用的基础技能,在文本处理和数据分析等领域都有着广泛的应用。
评论