本文目的:将爬取的评论数据进行分词,然后使用词云图进行可视化操作。

使用到的工具:结巴中文分词、Wordcloud库

首先介绍一下两个工具,其中结巴中文分词是一个专门将中文句子进行分词的第三方库,当然还有其他的中文分词平台,使用比较多的是结巴中文分词。具体使用以及介绍详看平台的GitHub(https://github.com/fxsjy/jieba/)。目前英语分词比较方便,因为英语每一个单词本身都是有空格隔开的,但中文每个词没有隔开(每个句子有符号隔开),这就给中文分词带来很大的不便之处。相信未来会得到解决,对此感兴趣的可以尝试深挖这个行业。分词之后会带来一些无效的词汇,为了得到更加有效的分词结果,需要将无效的词汇删减,以便更有效的展示出结果。这里就带来了另一个问题,就是使用怎样的停用词汇。目前有“中文停用词汇”、“哈工大停用词汇”、“百度停用词汇”、“四川大学停用词汇”。这几种都是可以直接拿来使用的,但要是追求更好的结果可以自行设定一些停用词汇。本文将使用中文停用词汇。#中文停用词表#中文分词#-数据挖掘文档类资源-CSDN下载中文分词常见的停用词表更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/Tobe_01/84423742

词云图可视化结果,词云图可视化结果相对平常的绘图显得更加酷炫一些,网上也有很多的平台可以进行绘制词云图,本文使用的是Wordcloud来绘制词云图。

(官方网站:WordCloud for Python documentation — wordcloud 1.8.1 documentation)

本身两个库的使用都比较简单,下面直接上代码,代码中有详细步骤解释。生成的词云图的形状是可以根据自己喜好来设定的,只需要添加图片,并设置成背景即可(如下面注释掉的几行代码所示)。为了简便,就不添加背景图片了。

import wordcloud # 分词
from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS # 词云,颜色生成器,停止词
from PIL import Image # 处理图片
import pandas as pd
import numpy as npdef get_ciyun(data,n):"""绘制词云图的函数:data表示评论数据,n表示哪一天的日期。其中函数会先创建一个TXT文件来保存评论数据,然后使用结巴进行分词,最后使用Wordcloud进行绘制词云图并保存。"""# 保存评论数据for ele in data:with open("3月{}号.txt".format(n),mode="a") as f:f.write(ele.split("[")[0])# 使用结巴进行分词with open('3月{}号.txt'.format(n),'r',encoding='gbk') as f:  #打开新的文本转码为gbktextfile = f.read()  #读取文本内容seg_list = jieba.cut(textfile, cut_all=False)space_list = ' '.join(seg_list) #空格链接词语# backgroud = np.array(Image.open('LME.jpg'))  # 添加想要的背景图片# 制定停用词表stop_words = set()content = [line.strip() for line in open('中文停用词表.txt',mode="r",encoding='utf-8').readlines()]stop_words.update(content)# 绘制词云图# backgroud = np.array(Image.open('LME.jpg'))wc = WordCloud(width=400, height=600,background_color='white',mode='RGB', max_words=500,font_path='‪C:\Windows\Fonts\SIMLI.TTF',   # 字体路径,可以根据电脑字体路径进行更改max_font_size=150,relative_scaling=0.6,  # 设置字体大小与词频的关联程度为0.4random_state=50,scale=3,  # 设置字体清晰度,越大表示越清晰stopwords=stop_words  # 设置停用词表).generate(space_list)# image_color = ImageColorGenerator(backgroud)   #设置生成词云的颜色,如去掉这两行则字体为默认颜色# wc.recolor(color_func = image_color)plt.imshow(wc) #显示词云plt.axis('off') #关闭x,y轴plt.show()#显示wc.to_file('3月{}号_ciyun.jpg'.format(n)) #保存词云图# 调用函数,会输出并且保存词云图.
get_ciyun(data,n)

本文绘制词云图使用的数据来源于国内财经网页的股吧评论,通过爬虫获得。下面的词云图展示的是3月7号当天的所有评论数据。可以发现最显眼的有“沪镍”、“ni2204”、“镍”等,因为爬取的股吧正是沪镍吧下面的评论数据,所以此类相关的词汇比较多。

此次事件缘由是因为国内一家民企青山集团经营所需,正常持有20万吨的空头期货(作为套期保值),但由于俄乌战争,使得俄方的镍被移出伦敦交易所,无法进入欧洲市场,导致镍的供应不足,镍价因此暴涨(两个交易日涨了248%,见下面走势图),当然也存在多头方从中作怪的可能。如果到期青山集团无法交出这么多镍的现货就只能以高价进行平仓,这必然会导致很大的损失。这是经典的“多逼空”案例。

从词云图中可以看到“沪镍”、“空头”、“ni2204”、“涨停”等字眼比较突出,这些字眼也正是整个事件最突出的部分,其中“沪镍”表示此次的交易场所为上海期货交易所的镍产品,而“ni2204”则是镍产品的交易代码。“空头”正是此次事件的核心,就是青山集团持有的空头期货,“涨停”反应则是镍价的走势。对比于文本类的数据,词云图在突出展示信息重要性方面还是存在优势的,一方面,可以更加简洁清晰的展示结果,另一方面能够突出数据的关键词,有利于更快速的定位事件的核心。除此之外,本文展示的只是3月7号当天的数据,从词云图中也可以看到一些“明天”的字眼,由于7号当天青山集团对此事件并没有做出回应,所以人们很关心明天,或者接下来青山集团会怎么应对此次的“多逼空”。

ni2204走势图

3月7号评论词云图

数据可视化——词云图相关推荐

  1. Python数据可视化——词云图

    一.配置环境 要生成词云图,必备的插件是wordcloud.课堂上给出了两种安装插件的方法.一是通过调用命令行,输入pip3 install wordcloud进行安装.二是下载whl文件,通过pip ...

  2. 数据可视化 - 词云图样式自定义

    from pyecharts import options as opts from pyecharts.charts import WordCloudwords = [("花鸟市场&quo ...

  3. 使用Python获取春节档电影影评,制作可视化词云图

    Python获取春节档电影影评,制作可视化词云图 前言 准备工作 采集数据部分 基本思路流程 代码实战 可视化词云图 代码展示 效果展示 前言 春节电影听巳月说都还可以,我不信,我觉得还是要看看看过的 ...

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

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

  5. 数据分析实例-获取某宝评论数据做词云图可视化

    获取数据 首先要通过抓包分析网站的数据接口是什么,再构造请求头,发送请求,解析数据,最后保存数据.本项目以某宝上的一个商品的评论数据为例进行获取. 爬虫主代码: import requests imp ...

  6. Python数据可视化词云展示周董的歌

    马上开始了,你准备好了么 准备工作 环境:Windows + Python3.6 IDE:根据个人喜好,自行选择 模块: Matplotlib是一个 Python 的 2D数学绘图库 pip inst ...

  7. mysql数据生成词云图_CVPR2018关键字分析生成词云图与查找

    今日目标:爬取CVPR2018论文,进行分析总结出提到最多的关键字,生成wordCloud词云图展示,并且设置点击后出现对应的论文以及链接 对任务进行分解: ①爬取CVPR2018的标题,简介,关键字 ...

  8. 爬虫——爬取人民网数据生成词云图

    1.以人民网的新闻数据为例,简单介绍的利用python进行爬虫,并生成词云图的过程. 首先介绍python的requests库,它就好像是一个"爬手",负责到用户指定的网页上将所需 ...

  9. Python可视化--词云图(中文和英文版)

    中文词云图 #-*-coding:utf-8-*- import jieba import numpy as np import PIL.Image as Image from wordcloud i ...

最新文章

  1. 《神经元》发表脑智卓越中心关于灵活分类决策神经环路机制的研究成果
  2. pyinstaller深入使用,打包指定模块,打包静态文件
  3. Mysql中经常出现的乱码问题
  4. 【推荐】Nginx基础知识之————多模块(非覆盖安装、RTMP在线人数实例安装测试)
  5. 日志 note_深入源码解析日志框架Log4j2(二)
  6. GPU并行计算OpenCL(3)——图像处理
  7. SQL 修改表字段失败 解决方法
  8. dqpsk的matlab,基于MATLAB的理想_4_DQPSK系统仿真.pdf
  9. 2021-09-08推荐系统有如下三大类算法
  10. 计算机科学导论第12版答案,计算机科学导论第12章参考答案
  11. Geos库学习之(二)——使用Geos库创建简单的几何对象
  12. python执行bat文件_让Python文件也可以当bat文件运行
  13. 平面直角系【坐标系旋转】、【点绕坐标系旋转】、【A点绕B点旋转】
  14. C#网络TCP客户端的实现
  15. 【转】面向贡献者的 AOSP Java 代码样式指南
  16. ambari hdfs 启动报错_Ambari 1.6 自动安装hadoop 2.2.0 在Ambari启动namenode时报错
  17. 解决注册表无法删除问题
  18. 阿里高级外包你待得住吗?
  19. 谁与争锋,JDK动态代理大战CGLib动态代理
  20. 文心 ERNIE 3.0加持!小样本也可实现全量数据99%的效果!

热门文章

  1. numpy之np.round()取整不得不填的坑
  2. 经济基础知识(初级)【2】
  3. Maemo 平台升级:Diablo
  4. WIN10系统的电源已接通,但未充电
  5. 阿里云新品:基于SASE架构的云安全访问服务
  6. svn 无法检出的问题
  7. codeforces 400D - Dima and Bacteria
  8. Neo4j 之西游记取经团队人物创建和关系设置
  9. SQL安装重启计算机失败
  10. C语言windows.h库的常用函数(四)