利用jieba库进行词频统计

简介: 利用jieba库进行词频统计

0 引言

在读一篇文章和读一本经典名著时,我们常常想统计出来每个词汇出现的次数及该词汇的出现频率,其实我们可以利用Python中的第三方库jieba库来实现。

1 问题

通过对一篇文章和一本书中的词频统计,我们可以知道什么事物或是谁在该文章或该著作作者用了更多的文笔来提到和描述它,

2 方法

  1. encoding=’ANSI’:将打开的文本格式设为ANSI形式
  2. read(size):方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象。
  3. items = list(counts.items):将counts中的元素存入items表格中。
  4. key = lambda x:x[1]:等价于 def func(x):
    return x[1]
  5. reverse = True:表反转排序不写reverse = True 就是列表升序排列,括号里面加上reverse =True 就是降序排列!
  6. {0:<10}{1:>5}:<表示左对齐,>表示右对齐,数字表示宽度,<10表示左对齐,并占10个位置,>5表示右对齐,占5个位置。

3实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

import jieba
txt = open("三国演义.txt", "r", encoding='ANSI').read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
word, count = items[i]
print ("{0:<10}{1:>5}".format(word, count))

4 结语

使用jieba库对一段文本进行词频的统计是一件非常有意思的事,我们只需要使用这第三方库,就可以在不阅读文本的情况下,得到该文本的高频率词汇。但jieba库的作用远远不止于此,它更多的作用等着我们去挖掘。

目录
相关文章
|
Java Spring
Spring AOP切点表达式(Pointcut)详解
Spring 的 AOP 中的一个核心概念是切点(Pointcut),切点表达式定义通知(Advice)执行的范围。
5454 0
|
Python
Python分支结构双分支讲解
Python分支结构双分支讲解
532 0
|
C# 容器
Winform控件优化之TabControl控件的美化和功能扩展
在基本的TabControl控件使用和功能之上,可以尝试对其进行美化和功能扩展,比如动态删除或添加tab、绘制图标按钮及鼠标hover时的背景变化、Tab从右向左布局的优化处理等。最重要...
3784 0
Winform控件优化之TabControl控件的美化和功能扩展
|
运维 供应链 前端开发
开发一个 ERP
【9月更文第5天】开发一个 ERP (Enterprise Resource Planning) 系统是一项复杂的工程,涉及到多个业务流程的集成与优化。ERP 系统旨在帮助企业整合财务、人力资源、采购、销售、库存管理和生产计划等多个部门的数据,从而提高运营效率和决策质量。本文将带你一起体验从零开始开发一个简单的 ERP 系统,并通过示例代码来说明关键组件的设计与实现。
826 3
|
关系型数据库 分布式数据库 网络安全
PolarDB产品使用问题之如何配置白名单以实现远程访问
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
JSON 数据安全/隐私保护 数据格式
【华为ICT大赛】华为云激活设备的方法以及数据上下行
【华为ICT大赛】华为云激活设备的方法以及数据上下行
604 0
|
安全 关系型数据库 MySQL
【MySQL】Orchestrator最简单的 mysql 高可用方案最细细细细~
【MySQL】Orchestrator最简单的 mysql 高可用方案最细细细细~
|
网络协议 应用服务中间件 Linux
LInux之在同一Tomcat下使用不同的端口号访问不同的项目
LInux之在同一Tomcat下使用不同的端口号访问不同的项目
261 0
|
运维 小程序 数据安全/隐私保护
vos对接移动、电信、联通的线路你要清楚这些
vos对接移动、电信、联通各种线路
3171 0
fatal error: alsa/asoundlib.h: 没有那个文件或目录
fatal error: alsa/asoundlib.h: 没有那个文件或目录
588 0

热门文章

最新文章