目录
一、前言:
1.什么是数据可视化?
数据可视化就是将数据转换成图或表等,以一种更直观的方式展现和呈现数据,让读者能“一眼看懂”你想表达的信息。通过“可视化”的方式,复杂的数据通过图形化的手段进行有效表达,准确高效、简洁全面地传递某种信息,甚至我们帮助发现某种规律和特征,挖掘数据背后的价值。
2.Pyecharts简介
Echarts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可
3.词云图的含义
就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨
二、.操作步骤
1.引用库
我们进行词云图的绘制需要加载三个相关库,分别是:pyecharts,jieba,snownlp。
首先安装相关库
pip install pyecharts
pip install jieba
pip install snownlp
查看安装结果:
安装完后,查看是否成功:
pip show pyecharts
pip show jieba
pip show snownlp
看到相关代码表示安装成功
2.数据预处理
首先引用相关库:
import pandas as pd
import jieba
from snownlp import SnowNLP
import pyecharts.options as opts
from pyecharts.charts import WordCloud
导入数据
预处理 :
运用jieba和snownlp库对数据进行分词和标注
data['分词'] = data['评论'].agg(lambda x:jieba.lcut(x))
data['词性标注'] = data['评论'].agg(lambda x:list(SnowNLP(x).tags))
data
然后把词性一列中所有列表的数据对拼接到一个列表中,方便后续进行分析 。
list_tags = []
for i in data['词性标注']:
for j in i:
list_tags.append(j)
list_tags
之后转换成表格对象,并根据词性,统计形容词的出现频次。
data_tags = pd.DataFrame(list_tags,columns=['词语','词性'])
data_tags
result = data_tags[data_tags['词性']=='a'].groupby(by='词语')['词语'].count().sort_values(ascending=False)#[:20]
result
然后需要将形容词一列和出现频次一列转换成二维列表
注意:频次的数字需要转换成字符
data_wordcloud_tags = [(i,str(j)) for i,j in zip(result.index,result.values)]
data_wordcloud_tags
3.输出结果
代码如下:
c = (
WordCloud()
.add(series_name="",
data_pair=data_wordcloud_tags,
word_size_range=[30, 100]
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="铃芽之旅的评论", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
),
tooltip_opts=opts.TooltipOpts(is_show=True),
)
)
c.render_notebook()
运行结果:
代码说明:
.add(方法签名)(
name -> str:图例名称
attr -> list:属性名称
value -> list:属性所对应的值
shape -> list:词云图轮廓,有’circle’, ‘cardioid’, ‘diamond’, ‘triangleforward’, ‘triangle’, ‘pentagon’, ‘star’可选
word_gap -> int:单词间隔,默认为 20。
word_size_range -> list:单词字体大小范围,默认为 [12, 60]。
rotate_step -> int:旋转单词角度,默认为 45)
三、词云图学习总结:
中间分词的过程较为繁琐,但是结果能够使人一眼就可以领略数据的主要表达意思。以上还有很多属性我没有用上,大家可以去试一下。