python如何对每行统计词频

python如何对每行统计词频

作者:William Gu发布时间:2026-01-07阅读时长:0 分钟阅读次数:13

用户关注问题

Q
如何用Python统计文本文件中每一行的词频?

我有一个文本文件,想要使用Python统计文件中每一行出现的各个单词的频率,应该使用什么方法?

A

使用Python中的Counter类实现逐行词频统计

可以使用Python的collections模块中的Counter类来统计每一行的词频。首先读取文件中每一行,分割成单词列表,然后对这个列表使用Counter,能够得到该行中每个单词出现的次数。这样可以方便快捷地对文本进行词频分析。

Q
有哪些Python代码示例能够实现逐行词频统计?

希望能看到简单的Python代码示范,展示如何遍历文件每一行并统计当行中各词的出现次数。

A

示例代码:用Python统计每行词频

可以用以下代码实现:

from collections import Counter

with open('file.txt', 'r', encoding='utf-8') as f:
    for line in f:
        words = line.strip().split()  # 以空格分词
        freq = Counter(words)  # 统计词频
        print(freq)

该程序逐行读取文件,使用split切分单词,并用Counter统计词频。

Q
如何处理文本中大小写或标点符号对词频统计的影响?

统计每行词频时遇到大小写不同或标点符号会影响统计结果,有什么处理建议?

A

统一大小写和去除标点提升词频统计准确度

为了提高词频统计的准确性,建议先将每行文本转换为小写,避免大小写不同导致的重复计数。同时,可以使用正则表达式或者字符串方法去除标点符号,确保只统计纯单词。例如,使用 re.sub(r'\W+', ' ', line.lower()) 清除非字母数字字符,再对结果分词。这样统计得到的词频会更为准确和一致。