Python中怎么实现词频统计功能
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关Python中怎么实现词频统计功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。数据准备import jiebawith
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
美信网络技术有限公司mcc
互联网黑科技100个
linux网络聊天室数据库
软件开发教程免费
软件开发有哪些地方好玩
维护信息网络安全
AI人工智能服务器
软件开发应用中心的英文
驾照档案信息数据库有几份档案
局网络安全岗位职责
无代码软件开发复用成熟项目
汇聚交换机服务器alm灯亮红灯
查找学位论文最全的数据库
网络安全专业大创项目
鹰潭扎实开展网络安全
电站网络安全培训的内容
德惠有名的网络技术咨询诚信经营
网络安全协调科科长是什么级别
服务器设备管理器怎么看
软件开发内卷吗
百度云网站服务器价格
航天A6安全接入服务器地址
目前没有的产品或服务器
招聘网络安全工程师骗局
无锡运营软件开发价目表
进销存数据库关系表
创建数据库与表sql
服务器拨号和独立云有什么区别
discuz数据库变慢
汉威科技和工业互联网