python --统计词频Counter

python中可采用模块collections中的Counter统计词频,首先来一个直观的认识:

from collections import Counter

c = Counter(['11', '22', '11', '33', '11', '44', '55'])
c2 = Counter("abcdefdasfdsafaf")
print(c)
print(c2)

 输出结果:

Counter({'11': 3, '22': 1, '33': 1, '44': 1, '55': 1})
Counter({'a': 4, 'f': 4, 'd': 3, 's': 2, 'b': 1, 'c': 1, 'e': 1})

Counter是字典的子类。 可见Counter可以很方便的统计字符的频次。 

那么,使用counter统计文本词频具体实现如下:

代码中用到的all.txt文本内容如下:

北京故宫是中国明清两代的皇家宫殿,旧称紫禁城,位于北京中轴线的中心,是中国古代宫廷建筑之精华。北京故宫以三大殿为中心,占地面积72万平方米,建筑面积约15万平方米,有大小宫殿七十多座,房屋九千余间。是世界上现存规模最大、保存最为完整的木质结构古建筑之一。
北京故宫于明成祖永乐四年(1406年)开始建设,以南京故宫为蓝本营建,到永乐十八年(1420年)建成。它是一座长方形城池,南北长961米,东西宽753米,四面围有高10米的城墙,城外有宽52米的护城河。紫禁城内的建筑分为外朝和内廷两部分。外朝的中心为太和殿、中和殿、保和殿,统称三大殿,是国家举行大典礼的地方。内廷的中心是乾清宫、交泰殿、坤宁宫,统称后三宫,是皇帝和皇后居住的正宫。 [1] 
北京故宫被誉为世界五大宫之首(法国凡尔赛宫、英国白金汉宫、美国白宫、俄罗斯克里姆林宫),是国家AAAAA级旅游景区, [2-3]  1961年被列为第一批全国重点文物保护单位; [4]  1987年被列为世界文化遗产。 [5] 
2012年1月至2018年6月,故宫累计接待观众达到1亿人次。2019年起,故宫将试行分时段售票 [6]  。2018年9月3日,故宫养心殿正式进入古建筑研究性保护修缮工作的实施阶段。 [7]  2019年3月4日,故宫公布了2019年下半年展览计划。

统计文本的词频如下所示: 

import jieba
from collections import Counter

#读取文本
text = open("all.txt",'r',encoding='utf-8').read()
#分词
text_split_list = jieba.cut(text)
#利用Counter计算词频
for (k, v) in Counter(text_split_list).most_common(10):  
    print("%s:%d" % (k, v))

运行结果:

,:23
 :16
。:13
的:11
年:10
是:8
、:8
[:6
]:6
故宫:5
发布了70 篇原创文章 · 获赞 29 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/LOVEYSUXIN/article/details/103531613