使用Python进行英文词频统计

  • Post author:
  • Post category:python

对一篇英文文章进行词频统计重点在于内容去噪和归一化,可用split()进行分词。本文以《飘》为例,统计词频最高的前十位。

1.读取文件,通过lower()、replace()函数将所有单词统一为小写,并用空格替换特殊字符。

def gettext():
    txt = open("piao.txt","r",errors='ignore').read()
    txt = txt.lower()
    for ch in '!"#$&()*+,-./:;<=>?@[\\]^_{|}·~‘’':
        txt = txt.replace(ch,"")
return txt

2.对处理后的文本进行词频统计存入字典。

txt = gettext()
words = txt.split()
counts = {}
for word in words:
    counts[word] = counts.get(word,0) + 1

3.统计结果存为列表类型,按词频由高到低进行排序,输出前十位。

items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
    word,count = items[i]
    print("{0:<10}{1:>5}".format(word,count))

输入:

在这里插入图片描述

输出:

在这里插入图片描述


版权声明:本文为aieraisiji原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。