目录
四、使用Python的pandas库来读取两个Excel文件(注意读取数据的路径)
六、使用PyEcharts库中的WordCloud组件来生成一个词云图。词云图是一种数据可视化方式,用于展示文本数据中词语的频率和重要性
一、Pyecharts简介
Pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用Echarts 生成的图可视化效果非常好,而 Pyecharts则是专门为了与Python衔接,方便在 Python中直接使用的可视化数据分析图表。使用Pyecharts可以生成独立的网页格式的图表,还可以在flask、django中直接使用,非常方便。
Pyecharts的图表类型主要包括Bar(柱状图/条形图)、Boxplot(箱形图)、Funnel(漏斗图)、Gauge(仪表盘)、HeatMap(热力图)、Line(折线/面积图)、Line3D(3D折线图)、Liquid(水球图)、Map(地图)、Parallel(平行坐标系)、Pie(饼图)、Polar(极坐标系)、Radar(雷达图)、Scatter(散点图)和WordCloud(词云图)等。
二、Pyecharts具有以下几个主要用途
1. 数据可视化:Pyecharts可以将数据以图表的形式进行可视化展示,帮助用户更直观地理解数据。
2. 交互式图表:生成的图表可以具有交互功能,用户可以通过鼠标悬停、点击等操作与图表进行交互,查看详细信息。
3. 地理数据可视化:Pyecharts可以生成各种类型的地图,包括世界地图、中国地图、省市地图等,帮助用户展示地理数据。
4. 数据分析与报告:结合Python中的数据分析库(如Pandas、Numpy等),Pyecharts可以生成各种细致的数据分析报告。
三、导入需要的模块和包
import pandas as pd
import jieba
from snownlp import SnowNLP
import pyecharts.options as opts
from pyecharts.charts import WordCloud
四、使用Python的pandas库来读取两个Excel文件(注意读取数据的路径)
data_comments = pd.read_excel('../数据集/披荆斩棘的哥哥 短评.xlsx')
data_names = pd.read_excel('../数据集/披荆斩棘的哥哥 名字.xlsx')
五、用函数读取出数据
使用agg
函数对'评论'列中的每一个元素(即每一条评论)进行操作。具体来说,使用jieba库的lcut
函数对每条评论进行分词
data_comments['分词'] = data_comments['评论'].agg(lambda x:jieba.lcut(x))
data_comments
- 定义了一个函数
heat_count
,该函数统计名字在评论中的出现次数。 - 使用这个函数统计
data_names
中每个名字在分词结果中的出现次数,并将结果存储在新的列热度
中。
def heat_count(name,series):
count = 0
for i in series:
for j in i:
if j==name:
count+=1
return count
使用了agg
函数对'名字'列中的每一个元素(即每个人的名字)进行操作。具体来说,使用之前定义的heat_count
函数,并传入series=data_comments['分词']
作为参数。这意味着对于data_names
中的每一个名字,我们计算它在data_comments['分词']
中的出现次数。
data_names['热度'] = data_names['名字'].agg(heat_count,series=data_comments['分词'])
data_names
1.将返回一个元组的列表,其中每个元组包含一个名字和其对应的热度。
2.对于每个元组,它将第一个元素赋值给i
,第二个元素赋值给j
。
3.对于每一个i
和j
的元组,我们创建一个新的元组,其中第一个元素是i
(名字),第二个元素是将j
(热度)转换为字符串。
data_wordcloud_name = [(i,str(j)) for i,j in zip(data_names['名字'],data_names['热度'])]
data_wordcloud_name
六、使用PyEcharts库中的WordCloud组件来生成一个词云图。词云图是一种数据可视化方式,用于展示文本数据中词语的频率和重要性
wordcloud = (
WordCloud(init_opts=opts.InitOpts(width="600px", height="400px",theme=ThemeType.DARK))
.add(series_name="",
data_pair=data_wordcloud_name,
word_size_range=[15, 45],
shape = 'diamond'
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="豆瓣名字热度词云", title_textstyle_opts=opts.TextStyleOpts(font_size=23)
),
tooltip_opts=opts.TooltipOpts(is_show=True),
)
)
wordcloud.render_notebook()
以下是全部的代码以及运行结果
七、总结
使用数据集中的信息来生成一个词云图,展示在“披荆斩棘的哥哥”短评中,各个名字出现的频率,并使用render_notebook()
方法将生成的词云图渲染在Jupyter笔记本中。总之,Pyecharts可以帮助用户快速、方便地生成各种类型的图表,提升数据可视化和数据分析的效率和效果