IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 中文小说文章词频词云分析 -> 正文阅读

[Python知识库]中文小说文章词频词云分析

引言:本人从小白自学python,为了测试基础学习效果,增加一定的促进,想通过参加全国计算机等级考试二级python来检验基础学习情况。在学习过程中,会将该过程编写的python小程序题目在此发表,希望找到共同学习的人一起讨论,可能发表的有许多不是很完善的地方,请大家指正。后期学习路线,还会继续通过参加一些社会类的考试来检验学习成果。高阶段学习的话,可能会参加一些python的比赛,或者自己接一些项目,然后会根据自己的情况将一些项目的Python程序在此分享。

码字不易,求赞,求关注,求赏

一、本项目来源:全国计算机等级考试二级教程python语言程序设计,第十章课后习题第二程序题第3-5小题。自选一篇小说,利用jieba和wordcloud分析出场人名,然后我就选择了《水浒传》 第一回进行分析。

二、先上传自己写的程序

import jieba
from wordcloud import WordCloud
t = open('《水浒传》 第一回.txt','r',encoding='gb18030')  #导入讲话稿
rd = t.read()
t.close()
words = jieba.lcut(rd) #jieba分析
counts = {}
for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word,0) + 1
excludes = {'谓之','如何','只见','瘟疫','众人'}
for word in excludes:
    del(counts[word])
items = list(counts.items())
items.sort(key=lambda x:x[1],reverse=True) #以字典中的值来进行排序,利用了sort和lambda
nwl = []
for i in range(5):
    word,count = items[i]
    print('{0:<10}{1:>5}'.format(word,count))
    nwl.append(word)  
nw = ' '.join(nwl)
wordcloud = WordCloud(background_color='white',\
                      width=400,\
                      height=300,\
                      font_path='msyh.ttc',\
                      max_words=5,\
                      max_font_size=160,\
                      ).generate(nw)
wordcloud.to_file('《水浒传》 第一回.png')

三、解读程序语句。

(一)导入两个库。jieba和wordcloud这两个库都是第三方库,需要利用pip进行事先安装,推荐一个快速安装的方式。pip install <需要安装的库名> -i https://mirrors.aliyun.com/pypi/simple

(二)读取文件。利用读取文件三步曲,打开文件(open()),读取文件(read()),关闭文件(close())。

(三)词频分析。利用jieba库开展中文分词,将文章内容拆分成词语形式。接着利用我之前博客的文章,python编写英文字符频率统计小程序,中的方法,将中文词进行频率统计。

(四)词云分析。利用wordcloud库,结合之前分词和词频统计等,将文字进行词云展示。

四、程序运行效果

运行的是筛选前20个高频词,先展示了这20个词的频率,再接着一张图片形成的这20个词的词云,通过比较,还是词云的展示效果好看。

五、程序中需要注意的事

这个程序编写中,在进行词频分析后,要在词频的基础上就要进行收集词放入一个新建列表中,然后根据这个词频列表进行词云分析,如果不建这个列表,直接利用之前的jieba分词后的字典进行词云分析,就会跟词频分析的结果不一样。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 11:57:20  更:2021-10-17 11:58:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:41:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码