Python中怎么实现词频统计功能
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Python中怎么实现词频统计功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。数据准备import jiebawith
千家信息网最后更新 2026年11月01日Python中怎么实现词频统计功能数据准备
这篇文章将为大家详细讲解有关Python中怎么实现词频统计功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
数据准备
import jiebawith open("D:/hdfs/novels/天龙八部.txt", encoding="gb18030") as f: text = f.read()with open('D:/hdfs/novels/names.txt', encoding="utf-8") as f: for line in f: if line.startswith("天龙八部"): names = next(f).split() breakfor word in names: jieba.add_word(word)# 加载停用词with open("stoplist.txt", encoding="utf-8-sig") as f: stop_words = f.read().split()stop_words.extend(['天龙八部', '\n', '\u3000', '目录', '一声', '之中', '只见'])stop_words = set(stop_words)all_words = [word for word in cut_word if len(word) > 1 and word not in stop_words]print(len(all_words), all_words[:20])结果:
216435 ['天龙', '释名', '青衫', '磊落', '险峰', '行玉壁', '月华', '明马', '疾香', '幽崖', '高远', '微步', '生家', '子弟', '家院', '计悔情', '虎啸', '龙吟', '换巢', '鸾凤']
统计词频排名前N的词
原始字典自写代码统计:
wordcount = {}for word in all_words: wordcount[word] = wordcount.get(word, 0)+1sorted(wordcount.items(), key=lambda x: x[1], reverse=True)[:10]使用计数类进行词频统计:
from collections import Counterwordcount = Counter(all_words)wordcount.most_common(10)
结果:

使用pandas进行词频统计:
pd.Series(all_words).value_counts().head(10)
分词过程中直接统计词频
Pandas只能对已经分好的词统计词频,所以这里不再演示。上面的测试表示,Counter直接对列表进行计数比pyhton原生带快,但循环中的表现还未知,下面再继续测试一下。
首先使用原生API直接统计词频并排序:
%%timewordcount = {}for word in jieba.cut(text): if len(word) > 1 and word not in stop_words: wordcount[word] = wordcount.get(word, 0)+1print(sorted(wordcount.items(), key=lambda x: x[1], reverse=True)[:10])结果:
[('段誉', 2496), ('说道', 2151), ('虚竹', 1633), ('萧峰', 1301), ('武功', 1095), ('阿紫', 922), ('阿朱', 904), ('乔峰', 900), ('王语嫣', 877), ('慕容复', 871)]Wall time: 6.04 s下面我们使用Counter统计词频并排序:
%%timewordcount = Counter()for word in jieba.cut(text): if len(word) > 1 and word not in stop_words: wordcount[word] += 1print(wordcount.most_common(10))
结果:
[('段誉', 2496), ('说道', 2151), ('虚竹', 1633), ('萧峰', 1301), ('武功', 1095), ('阿紫', 922), ('阿朱', 904), ('乔峰', 900), ('王语嫣', 877), ('慕容复', 871)]Wall time: 6.21 s关于Python中怎么实现词频统计功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
统计
词频
结果
天龙
天龙八部
功能
内容
文章
更多
知识
篇文章
慕容
阿朱
武功
排序
测试
不错
原始
磊落
高远
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
博彦科技互联网金融
互联网电商科技
互联网科技会
科技互联网技术
深圳科技互联网
碳银互联网科技有限公司
上海卓越科技 互联网
互联网科技类展会
蓝色互联网科技
深圳市运趣互联网科技有限公司
恒银科技与互联网金融
福州新华互联网科技学校 知乎
科技互联网大厂
米聚互联网科技南京有限公司排面
广州新华互联网科技学校电竞方面
为客找房互联网科技公司怎么样
互联网公司高科技产品
福建互联网展示科技馆设计
安徽零酒互联网科技有限公司
互联网中国科技
互联网科技与金融科技
科技大学互联网专业好不好
全球顶尖互联网科技公司
黑科技闪耀互联网之光
互联网与医疗科技
互联网营销推广黑科技
宁波允成互联网科技有限公司
互联网高科技绘画
互联网科技创业有什么好项目