首页 > 编程语言 >python词云剔除非有效词

python词云剔除非有效词

时间:2022-10-10 21:57:58浏览次数:74  
标签:jieba string python list 词云 剔除 txt


title: python词云剔除非有效词
excerpt: python爬虫小作业2.0
tags: [python, 词云, 爬虫]
categories:


一、Why!

之前做了基于python的青少年沉迷网络调查报告,最后用的是jieba分词和wordcloud进行可视化分析,但是结果图由于爬取的内容不精确,有一些不相关词也被放入可视化中,所以此次想把那个内容再重新可视化词云分析,剔除参杂其中的无用词!

二、What!

原源码如下:

# 导入词云制作库wordcloud和中文分词库jieba
import jieba
import wordcloud
# 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
import imageio
mk = imageio.imread("未标题-1.png")
# 构建并配置词云对象w,注意要加scale参数,提高清晰度
w = wordcloud.WordCloud(width=1000,
                        height=700,
                        background_color='white',
                        font_path='msyh.ttc',
                        mask=mk,
                        scale=15)
# 对来自外部文件的文本进行中文分词,得到string
f = open('提取到的第五列数据.txt',encoding='utf-8')
txt = f.read()
txtlist = jieba.lcut(txt)
string = " ".join(txtlist)
# 将string变量传入w的generate()方法,给词云输入文字
w.generate(string)
# 将词云图片导出到当前文件夹
w.to_file('青少年沉迷网络01.png')
对上方源码分析得17-21行为数据读取分词操作 具体步骤如下: 18行:以utf-8读取文件 19行:将读取的内容赋值给txt 20行:利用jieba库进行分词,以列表形式存储 21行:以空格连接列表内的每一个元素 所以可以在第20-21行之间添加一个方法进行剔除 ## 三、How! test.py ```python import jieba list=[] txt="我们总是在意别人的言论,不敢做自己喜欢的事情,害怕淹没在飞短流长之中。其实没有人真的在乎你在想什么,不要过高估量自己在他人心目中的地位。被别人议论甚至误解都没啥,谁人不被别人说,谁人背后不说人,你生活在别人的眼神里,就迷失在自己的心路上。人和人之间就是一份情,一份缘,你珍惜我,我会加倍奉还,你不在意我,就让一切归零!" txtlist = jieba.lcut(txt) print(txtlist) words=["你","人","我",",","。","的",","] for word in txtlist: if word in words: continue else: list.append(word) print(list) string = " ".join(list) print(string) ``` 结果如下: ```python >>> ========= RESTART: D:\桌面\Python\拓展\weiboSpider-master\关键词爬取\剔除词test.py ========= Building prefix dict from the default dictionary ... Loading model from cache C:\Users\Bai\AppData\Local\Temp\jieba.cache Loading model cost 0.594 seconds. Prefix dict has been built successfully. ['我们', '总是', '在意', '别人', '的', '言论', ',', '不敢', '做', '自己', '喜欢', '的', '事情', ',', '害怕', '淹没', '在', '飞短流长', '之中', '。', '其实', '没有', '人', '真的', '在乎', '你', '在', '想', '什么', ',', '不要', '过高', '估量', '自己', '在', '他人', '心目', '中', '的', '地位', '。', '被', '别人', '议论', '甚至', '误解', '都', '没', '啥', ',', '谁', '人', '不', '被', '别人', '说', ',', '谁', '人', '背后', '不', '说', '人', ',', '你', '生活', '在', '别人', '的', '眼神', '里', ',', '就', '迷失', '在', '自己', '的', '心', '路上', '。', '人', '和', '人', '之间', '就是', '一份', '情', ',', '一份', '缘', ',', '你', '珍惜', '我', ',', '我会', '加倍', '奉还', ',', '你', '不在意', '我', ',', '就让', '一切', '归零', '!'] ['我们', '总是', '在意', '别人', '言论', '不敢', '做', '自己', '喜欢', '事情', '害怕', '淹没', '在', '飞短流长', '之中', '其实', '没有', '真的', '在乎', '在', '想', '什么', '不要', '过高', '估量', '自己', '在', '他人', '心目', '中', '地位', '被', '别人', '议论', '甚至', '误解', '都', '没', '啥', '谁', '不', '被', '别人', '说', '谁', '背后', '不', '说', '生活', '在', '别人', '眼神', '里', '就', '迷失', '在', '自己', '心', '路上', '和', '之间', '就是', '一份', '情', '一份', '缘', '珍惜', '我会', '加倍', '奉还', '不在意', '就让', '一切', '归零', '!'] 我们 总是 在意 别人 言论 不敢 做 自己 喜欢 事情 害怕 淹没 在 飞短流长 之中 其实 没有 真的 在乎 在 想 什么 不要 过高 估量 自己 在 他人 心目 中 地位 被 别人 议论 甚至 误解 都 没 啥 谁 不 被 别人 说 谁 背后 不 说 生活 在 别人 眼神 里 就 迷失 在 自己 心 路上 和 之间 就是 一份 情 一份 缘 珍惜 我会 加倍 奉还 不在意 就让 一切 归零 ! ``` ## 四、result! 源码如下: ```python # 导入词云制作库wordcloud和中文分词库jieba import jieba import wordcloud # 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片 import imageio mk = imageio.imread("未标题-1.png") list=[] # 构建并配置词云对象w,注意要加stopwords集合参数,将不想展示在词云中的词放在stopwords集合里,这里去掉“曹操”和“孔明”两个词 w = wordcloud.WordCloud(width=1000, height=700, background_color='white', font_path='msyh.ttc', mask=mk, scale=5, #contour_width=1, #contour_color="black" ) # 对来自外部文件的文本进行中文分词,得到string f = open('提取到的第五列数据.txt',encoding='utf-8') txt = f.read() txtlist = jieba.lcut(txt) words=["收起","全文","所以","多少","路过",",",",",".","。","[","]","【","】"] for word in txtlist: if word in words: continue else: list.append(word) print(list) string = " ".join(list) # 将string变量传入w的generate()方法,给词云输入文字 w.generate(string) # 将词云图片导出到当前文件夹 w.to_file('不信你不出来.png') print("finish") ``` 结果对比: 很容易看出:收起全文没了 ![](https://picture-store-repository.oss-cn-hangzhou.aliyuncs.com/PicGo/20201123205628.png) ![](https://picture-store-repository.oss-cn-hangzhou.aliyuncs.com/PicGo/20201123212010.png)

参考

标签:jieba,string,python,list,词云,剔除,txt
From: https://www.cnblogs.com/baixf-xyz/p/16777536.html

相关文章

  • CentOS7下安装python3.8卸载3.6
    title:CentOS7下安装python3.8卸载3.6excerpt:VM记得拍快照!拍快照!快照!tags:[语音识别,kaldi,python3,python2,centos7]categories:[学习,python][学习,语......
  • python的基本运用
    python基础Python语言是一种解释型、面向对象、动态数据类型的高级程序设计语言开发者:GuidovanRossum(人称龟叔)基本概念1.变量变量名必须是大小写英文字母、数字或下......
  • Python 应用之求 100 以内的奇数和
    在数学中,我们需要用到很多求和的办法,比如说求1至100的和,还有100以内的所有偶数和和所有奇数和,如果我们慢慢地计算是不是很浪费时间,还容易出错。其实通过Python就可......
  • 【Azure 应用服务】Python Function App重新部署后,出现 Azure Functions runtime is u
    问题描述PythonFunctionApp重新部署后,出现AzureFunctionsruntimeisunreachable错误 问题解答在FunctionApp的门户页面中,登录Kudu站点(https://<yourfunction......
  • python中reload(sys)详解
    问题python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报错UnicodeDecodeError:‘ascii’codeccan’tdecodebyte0x??inposition1:o......
  • python opencv画矩形框保存xml和读取显示
     参考图书馆空位检测(行人+空位对比)https://www.cnblogs.com/gooutlook/p/16192389.html  使用到的原始图像       1鼠标选择画框API_draw.py......
  • python中函数教程
    函数的基本概念1.什么是函数?函数相当于一种工具,就是把一串代码装到一起,我们下次需要用的这个功能的时候可以直接使用函数相当于是工具(具有一定功能)不用函数修理工需......
  • python语法之名称空间
    名称空间与作用域什么是名称空间回忆:我们定义变量时,发生了什么name='leethon'"""赋值符号右边,产生了一个数据值'leethon',我们在内存中划定一个区域,将其存进去内存......
  • python编程提升1(问题篇)
    题目1描述一个文件和文件夹 题目2描述新建一个文件/文件夹 题目3计算文件夹里的文件个数,包含子文件 题目4描述文件的size(初始值为0)和计算文件夹的size ......
  • python编程从入门到实践--第5章 if语句
    一。条件测试符号:==,>,>=,<,<=,!=,     逻辑符号:and,or,not测试有没在列表中cars=['audi','bmw','subaru','toyota']forcarincars:......