【时光之穿越一千年】python全文字频解析【jieba】【matplotlib构图】案例
需要环境:【jieba、wordcloud、matplotlib】
小说资料请自己去下载,或者找你想解析的小说即可。我这里爬取的【时光之穿越一千年】
我放在了项目路径下:
解析代码:
import jieba
import os
from wordcloud import WordCloud
import matplotlib.pyplot as pltpath = os.getcwd()#获取当前路径listDir=os.listdir(path)#获取当前目录下的所有内容listInfo=""
for x in listDir:if ".txt" in x:#判断是不是以.txt为后缀的文件file=open(x,"r",encoding="utf-8")#用utf-8的格式打开listInfo+=file.read()#读取全部内容file.close()words = jieba.lcut(listInfo)# 使用精确模式对文本进行分词
counts = {}# 通过键值对的形式存储词语及其出现的次数
#统计词频
for word in words:if len(word) == 1: # 单个词语不计算在内continueelse:counts[word] = counts.get(word, 0) + 1 # 遍历所有词语,每出现一次其对应的值加 1
#注解:dict.get(word,0)当能查询到相匹配的字典时,就会显示相应key对应的value,如果不能的话,就会显示后面的这个参数#有些不重要的词语但出现次数较多,可以通过构建排除词库excludes来删除
text=' '.join(words)
excludes = {'一个','我们','你们','不可','知道','这里','却说','自己','这样','怎么','不是', '不知','这个','不能','如此'}
#删除不重要的词语
for exword in excludes:del(counts[exword])items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序#输出统计结果
for i in range(10):word, count = items[i]print("{0:<5}{1:>5}".format(word, count))#绘图
wc=WordCloud(background_color='white',# 设置背景颜色font_path='msyh.ttc',# 若是有中文的话,这句代码必须添加,不然会出现方框,不出现汉字 scale=2, #按照比例进行放大画布,如设置为2,则长和宽都是原来画布的1.5倍max_words=100,# 设置最大现实的字数 max_font_size=80,# 设置字体最大值 stopwords=excludes)# 设置停用词
wc.generate(text)
# 显示词云图
plt.imshow(wc)
plt.axis('off')
plt.show()
wc.to_file(r'词频统计.jpg')
2、执行效果:
如果有不需要的此可以在【excludes】中过滤掉。
希望能对大家了解文字有一定的帮助。
【时光之穿越一千年】python全文字频解析【jieba】【matplotlib构图】案例相关推荐
- Python图形之-tkinter与matplotlib结合案例
使用matplotlib绘制图像,并显示到thinter已有的画布中,如何进行两个包的连接,具体案例如下: 1 import matplotlib 2 matplotlib.use('TkAgg') ...
- 曝肝三天,两千行Python代码,制作B站视频下载工具(附源码)
曝肝三天,两千行Python代码,制作B站视频下载工具(附源码) 文章目录 一.准备工作 二.预览 1.启动 2.解析 3.下载中 4.下载完成 5.结果 三.设计流程 1.bilibili_vide ...
- 千锋python笔记_《2020千锋Python入门视频全套全开源》多实用
确实,对于在学开发或者已经从事开发工作的小哥哥小姐姐来说,恋爱这个事还挺让人揪心的! 有对象的时候又怕嘴笨不会哄对象,总不能跟对象说你看我用代码给你画个心吧!没对象的用爬虫技术爬来各种小哥哥小姐姐的头 ...
- pip安装包时如何指定安装在哪个python下?
如: pip install -t /usr/local/lib/python2.7/site-packages/ xlrd 但我试了,貌似会出问题...主要是跟环境变量指定的python可能会冲突 ...
- python面试题_面试时全对这25道python面试题,成就了我月薪25K!附教程分享)
之前面试的时候,面试官拿出一些python面试题对我说,只要全部正确直接给我20K,我一看题目笑了,居然全部都会,今天拿出来给大家分享一下~ 面试时全对这25道python面试题,成就了我月薪20K! ...
- python切片操作 当所有数据都省略时_python疑难问题---13、Python切片操作
python疑难问题---13.Python切片操作 一.总结 一句话总结: Python切片操作的核心就是:切片操作的时候先分析step,因为step正负表示方向,再看start_index和end ...
- 千峰python线下培训
Hello,各位锋迷们,我是小千. 今天周日,给大家推荐千锋金牌讲师宋宋最新出品的一套Python办公自动化教程. 扫码一键直达B站课程学习地址: 传送门:https://m.bilibili.com ...
- 千锋python培训班课程
Python是一门全栈式语言:写个web服务,可以用python;写个服务器脚本,可以用python;写个桌面客户端,可以用python;做机器学习数据挖掘,可以就用python;写测试工具自动化脚本 ...
- 中国时光之美:旅途中的二十…
原文地址:中国时光之美:旅途中的二十四节气作者:七月娃娃 文/图:七月娃娃 背上行囊,走过山和水, 最忘不掉的,是刹那间的光影和诗意. 在别人的故乡里行走, 也在自己的故乡里徘徊. 春夏秋冬,时节 ...
最新文章
- linux shell脚本攻略_(python)Linux下shell脚本监控Tomcat的状态并实现自动启动步骤...
- redis集合数据过期_如何从Redis中的集合中自动删除过期的密钥?
- IO、NIO、AIO 内部原理分析
- boost::geometry::util::is_implemented2用法的测试程序
- UVA - 796 Critical Links(tarjan求割边)
- c语言代码大全_从学生到专家,C语言开发必读的8本书
- node --- 一个很好用的包json-server
- OpenCV鼠标事件和滑动条事件
- 线性表—线性表的合并
- [BZOJ5286][洛谷P4425][HNOI2018]转盘(线段树)
- 订阅发布系统得解耦与冗余
- 快递100手机端页面抓取所有快递公司名称和代码
- php中求解二元一次方程,PHP实现二元一次方程式的求解
- 订阅消息 data.thing1.value is emtpy
- 入门力扣自学笔记180 C++ (题目编号:886)(涂色问题,可以多看看)
- SharePoint - 如何查询SharePoint ID?
- RHCEansible静态主机清单
- 华为云电脑.模式_云电脑还是云手机,为何阿里、华为都要做?
- 小白带你学安卓——初识android
- 卜算子.咏梅 英文版
热门文章
- python编程用户登陆c_django实现用户登陆功能详解
- oracle10g sys密码忘记,Oracle 10g忘记system,sys密码的解决办法。
- java并发编程之美-阅读记录1
- P3384 【模板】树链剖分
- PHPstorm相同变量标识
- 关于IOS中safari下的select下拉菜单,文字过长不换行的问题
- sql 给数据库表 字段 添加注释
- [转]虚拟机网络模式简介
- 商场专柜私收银现象治理要点
- SharePoint 使用代码创建 SPWeb/SPSiite/SPWebApplication以及WebPart添加到页面与删除 (一)...