python3 统计词频

赵幸婉 3个月前 46浏览 0评论

Python3是一种流行的编程语言,可以轻松地完成各种任务,包括统计文本中的词频。下面我们将介绍如何使用Python3编写一个简单的程序来统计词频。

# 首先需要导入必要的模块,sys用于处理命令行参数,collections用于计数
import sys
import collections

# 定义一个函数来读取文件并统计词频
def count_words(filename):
    # 打开文件并读取其内容到一个字符串中
    with open(filename) as f:
        text = f.read()
    
    # 将字符串转换为小写,以便统计单词时不受大小写影响
    text = text.lower()
    
    # 使用split函数将字符串分割成单词列表
    words = text.split()
    
    # 使用collections模块中的Counter函数统计每个单词出现的次数
    word_counts = collections.Counter(words)
    
    # 输出结果
    for word, count in word_counts.most_common():
        print(word, count)

# 判断命令行参数是否正确
if len(sys.argv) != 2:
    print("Usage: python3 count_words.py ")
    sys.exit(1)

# 获取要处理的文件名
filename = sys.argv[1]

# 调用函数来处理文件并统计词频
count_words(filename)

以上程序中,我们将文本文件中的每个单词都转换为小写以便统计词频,使用split函数将字符串分割成单词列表,使用collections模块中的Counter函数统计每个单词出现的次数,最后输出每个单词及其出现次数。

如果我们要统计的不是文本文件而是字符串,只需要将count_words函数中的第一行修改为:

def count_words(text):

然后调用该函数时将需要统计词频的字符串作为输入参数传入即可。

Python3非常适合用于文本处理和数据分析任务,以上是一个简单的例子,希望对使用Python3进行文本处理的读者有所帮助。