用python统计小说出现频率最高的词语
【用python统计小说出现频率最高的词语】Jieba是一个中文分词组件,可用于中文句子/词性分割、词性标注、未登录词识别,支持用户词典等功能。
Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表。
首先用pip安装需要的两个库
pip install jieba
pip install matplotlib
#coding:utf-8
import jieba
from collections import Counter
import json
import matplotlib.pyplot as plt
import matplotlib
import sys#解决matplotlib显示中文乱码的问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.family']='sans-serif'xianni=open(sys.argv[1],'r').read()
xianni_words = [x for x in jieba.cut(xianni) if len(x) >= 2] #将全文分割,并将大于两个字的词语放入列表
c=Counter(xianni_words).most_common(10) #取最多的10组
print json.dumps(c, ensure_ascii=False)name_list=[x[0] for x in c] #X轴的值
num_list=[x[1] for x in c] #Y轴的值
b=plt.bar(range(len(num_list)), num_list,tick_label=name_list)#画图plt.xlabel(u'词语')
plt.ylabel(u'次数')
plt.title(u'文本分词统计')
plt.show()#展示
这里用我最喜欢的小说<仙逆>来看看
运行结果
文章图片
image.png
画图结果
文章图片
image.png
这里只是很简单运用了jieba和matplotlib就实现了频率统计问题,这两个库的功能远远不止如此,如果感兴趣请自行研究学习。
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- JS中的各种宽高度定义及其应用
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 涉毒患者(新诗)
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息