提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、数据概览

二、文本处理

1、引入库

2、读入数据

3、处理数据

三、词云图绘制


前言

在上一章节进行简单爬虫学习后,继续拓展爬虫能力,并尝试抓取了一些文本数据。因此,本章节对这些文本数据进行简单分析、制作词云图。

词云:通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出。


一、数据概览

本文的数据处理基础是一份文件名为 danmus_data 的csv文件,共有1922行文本数据。简单观察这些数据,可以发现其中有长、短句,包含各种符号、空格,因此后续处理需要考虑这些情况。

二、文本处理

安装 wordcloud 、 jieba 包

1、引入库

import pandas as pd
import csv # 打开csv文件
import jieba # 中文分词
import wordcloud # 词云图绘制
from PIL import Image # 用于打开词云背景图片
import numpy as np # 用于将图片转化为数组

2、读入数据

以csv格式打开文件,并使用其数据创建一个列表。

with open('danmus_data.csv','r',encoding='utf-8-sig') as f:danmus_list=list(csv.reader(f))
# print(type(danmus_list))

3、处理数据

首先,文本中存在空格,需要对其进行清除。

danmus_clean1=[str(danmus_list).replace(' ','')]
# print(danmus_clean1)

其次,利用jieba对文本进行分词。

此处需要拓展jieba库的相关知识,来源:jieba分词的最详细解读_qq_45288176的博客-CSDN博客_jieba库为什么叫结巴

danmus_seg=''.join(danmus_clean1) # 将文本数据转换为字符串格式
words=list(jieba.lcut(danmus_seg)) # 利用jieba库进行分词
# print(type(words),words)

分词结果展示:其中有不少标点符号

再次,去掉分词结果中的单字

danmus_clean2 = [word for word in words if len(word)>1] # 保留长度>1的变量
# print(danmus_clean2)

最后,导入停用词库,对文本中的停用词进行过滤。

此处需要拓展停用词的相关知识,停用词:停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词),停用词主要包括英文字符、数字、数学字符、标点符号及使用频率特高的单汉字等。来源:百度百科

由于停用词过滤输出结果为字符串,还需要将字符串转化为列表的数据格式,便于下一步进行词语图绘制。

停用词

with open('stopwords.txt','r',encoding='utf-8') as sw:stopwords_list=list(csv.reader(sw)) # 打开停用词表并转换为列表格式
outstr='' # 设置空字符串,用于储存停用词表过滤后的分词
for word in danmus_clean2: # 遍历分词后列表中的每一个单词if word not in stopwords_list: # 如果单词不在停用词表中if word != '\t': # 如果单词不为制表符outstr += word # 将该单词加入字符串中outstr += ' ' # 将结果以空格隔开
danmus_clean3=outstr.split() # 将结果转换为list格式
# print(type(danmus_clean3),danmus_clean3)

三、词云图绘制

image = numpy.array(Image.open('background.png')) # 打开图片文件并转换为数字格式,图片为文件需要存储在工作目录中
wordCloud = wordcloud.WordCloud(width = 1600,  #词云的高度height = 1200, #词云的宽度font_path = "HGBTH_CNKI.TTF", # 字体路径  在C:\Windows\Fonts目录下找一个中文样式的字体复制到工作目录background_color = "white", # 背景颜色 mask = image  # 图片的轮廓 #可选属性,不选择默认是矩形词云).generate(" ".join(danmus_clean3))
wordCloud.to_file("词云图.png")
print('词云图已生成')

词语图背景选用了策导的照片(抠图后)

最后呈现的词云图效果~

简单文本处理+词云图制作学习记录相关推荐

  1. python文本聚类 词云图_有哪些软件可以进行中文词频分析?

    在现实生活中,人想做词云,也有了关键词的数据但自己又不会做词云可怎么办,我给大家推荐几款词云制作工具,让你瞬间呈现美观.酷炫的词云可视化.我们先来看看国外的词云制作工具: 1.Wordle Wordl ...

  2. NLP之WordCloud:基于jieba+matplotlib库对一段文本生成词云图~~情人节最好的礼物(给你一张过去的词云图,看看那时我们的爱情)

    NLP之WordCloud:基于jieba+matplotlib库对一段文本生成词云图~~情人节最好的礼物(给你一张过去的词云图,看看那时我们的爱情) 目录 输出词云图结果 输出文本统计 设计思路 实 ...

  3. python根据文本生成词云图

    python根据文本生成词云图 效果 代码 from wordcloud import WordCloud import codecs import jieba #import jieba.analy ...

  4. 文本生成词云图wordcloud

    本片文章记录的是帮助农业专业的研究生做一篇关于中国农业政策的毕业发表论文,论文要求对之一是对每个省的农业政策进行词云图的实现,以便直观看出来每篇政策中的出现频率比较高的关键词,以便帮助她进行比较出不同 ...

  5. python文本聚类 词云图_数据思维实践 | TASK 12 文本分析

    原标题:数据思维实践 | TASK 12 文本分析 文本分析可以干什么 生活中文本无处不在,网页上的新闻.证券分析师的研究报告.政府工作报告等等,这些都是文本.如何从文本中挖掘价值是文本分析需要回答的 ...

  6. python文本聚类 词云图_文本挖掘:避孕药主题情感分析

    关于舆情分析的实例分析,希望给你带来一些帮助. 前言 距离上次文本挖掘小文章时间已经过了3个月了,北京已经入冬,有人说北京的冬天很冷,但是吃上火锅很暖:也有人说北京的冬天雾霾严重,太干.这两句表达的是 ...

  7. Python文本分析——词云图(wordcloud+jieba)

    目录 1.实现 2.BUG解决 1.词云图实现 一.准备 环境:Win10+Python 3.6.1  64bit+PyCharm 词云库:wordcloud(pycharm如何安装库) 汉语分词库: ...

  8. python中文词云图代码_Python简单实现词云图代码及步骤解析

    一.安装 wordcloud pip install wordcloud 二.加载包.设置路径 import os from wordcloud import WordCloud import mat ...

  9. 文本数据“关键词渲染”的高频词可视化——词云图。

    目录 前言: 官方示例: 实践示例: 背景说明:基于电影用户评论的数据,通过其中关键词出现的频率做出词云图,从而让阅览者一目了然的看出该电影的正反面评价,甚至电影的分类标签. 数据预处理 1.首先将我 ...

最新文章

  1. Excel 2007 的重大bug
  2. 每日一天:对象数组去重
  3. exe编辑器_【小功能】Unreal Editor中调用exe
  4. datax 持续数据同步_采用DataX实现多表增量数据同步
  5. install scikit-learn
  6. crv仪表上的i是什么指示灯_汽车打不着火是怎么回事,仪表盘汽车发动机故障灯亮是什么情况故障指示灯图解大全集...
  7. c# imager让图片有圆角unity_Unity纹理-引题和单张纹理
  8. RHEL6 虚拟磁带机使用指南
  9. PHP+MySql+PDO小案例—文章管理系统
  10. JS重要知识点总结-不完善
  11. 怎么检查计算机和打印机是否连接网络,检查电脑是否正确连接网络打印机
  12. C#发送邮件,包含发送附件
  13. 如何不授权情况下获取自己微信openid/傻瓜式获取
  14. 在图片上加滚动文字html,如何让文字在图片上滚动
  15. 关于Java双大括号{{}}
  16. 基本共射放大电路的动态分析以及放大电路Q点的稳定
  17. 如何从视频中提取音频?
  18. python学习之路08(正则表达式和网络)
  19. 伪原创智能改写api百度【php源码】
  20. springboot(原先是mybatis)整合mybatis-plus,注入报错Error creating bean with name 'sqlSessionFactory'

热门文章

  1. 『转帖』对360安全卫士自我保护的简单研究
  2. SCI、EI论文检索及论文的主要的获取方式
  3. 专利申请所需资料、手续有哪些?
  4. 基于Java实现一个简单的YACC
  5. echart图和easyui图表制作模版制作
  6. LONZA鲎试剂 内毒素检测试剂盒说明书(免费试用)
  7. 如何在CSDN上赚钱:CSDN收益渠道分析
  8. 企业级服务器内存位置,真相!企业级内存条到底牛在哪儿?
  9. 粒度计行业调研报告 - 市场现状分析与发展前景预测
  10. 如何获取Android的apk的包名及其入口