python echarts数据可视化实战

python echarts数据可视化实战

引言

引言
上一章我给大家用一个简单的例子讲解了如何爬取特定网页上的大量岗位数据,并构造成数据集,那么有了数据集之后我们就可以对其做一些可视化的指标分析。
我们上一章爬取的就业岗位数据是存放在excel中的罗列的一条条数据:
在这里插入图片描述
那么对excel使用不熟悉的同学可能就面临难题了,怎么将这些数据进行不同维度的可视化分析,得到我们想要的结果呢,别急,我们慢慢来看。
可视化有很多工具可选择,它们都可以做到绚酷的可视化效果,例如市面上常见的echarts、tableau等,这么多工具我们往往会使用其中一两种就足矣应付日常工作需要解决的可视化任务,这里我们给大家使用一个简单好用的方法来展现可视化,那就是用python自带的pyecharts包,我们无需安装更多的可视化工具软件,即可轻松做到数据可视化分析。

词云分析

我们有了大量岗位数据之后,怎么对这些岗位有一个最直观的认识呢,词云就是一个不错的办法,“词云”的概念就是通过形成“关键词云层”或“关键词渲染”,对网络文本中出现频率较高的“关键词”的视觉上的突出。词云图过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨,那么我们来看一下如何对岗位名称这一字段来做词云可视化,具体的python代码如下:

# 引入pyecharts相关的包,并引入构建词云需要的包、引入读取csv文件需要的pandas包
from pyecharts import options as opts
from pyecharts.charts import WordCloud
from pyecharts.globals import SymbolType
import pandas as pd
# 读取岗位数据,统计不同岗位名称的词频
res = pd.read_csv('./test.csv')
a_name = list(res.岗位信息.value_counts().index)
a_count = res.岗位信息.value_counts().to_list()
# 将词频数据转换成构建词云需要的格式
a = zip(a_name,a_count)
words = []
for i in a:
    words.append(i)
# 使用WordCloud词云模块,链式调用配置,最终生成html文件
c = (
    WordCloud()
    .add("", words, word_size_range=[20, 100], shape=SymbolType.DIAMOND)
   .set_global_opts(title_opts=opts.TitleOpts(title="WordCloud-shape-diamond"))
)
c.render_notebook()

我们来看一下得到的岗位名称词云图:
在这里插入图片描述
从图中可以看出,客服、销售、储备类岗位比较多,我们爬取的网站其实是一所经贸学校的就业网站,可以词云图的结果也是符合经贸学校的定位的。

柱状图分析

分析岗位信息肯定要关注的一个指标就是薪资分布,那么我们来看一下如何通过柱状图观察一下不同薪资范围的分布情况,使用pyecharts做柱状图可视化的方法如下:

# 引入需要的pyecharts包
from pyecharts import options as opts
from pyecharts.charts import *
import pandas as pd
res = pd.read_csv('./test.csv')
# 薪资频率统计
x_index = list(res.薪资.value_counts().index)
y_value1 = res.薪资.value_counts().to_list()
# 设置柱状图
bar = (
    Bar()
    .add_xaxis(x_index)
    .add_yaxis("薪资", y_value1) # y轴设置
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-薪资", subtitle="数量"))
    )
bar.render_notebook()

得到的柱状薪资分布图如下:
在这里插入图片描述
从图中可以看出,薪资区间在4500-5499范围等岗位数量是最多的,有300个。

饼图分析

刚刚我们通过词频可以分析出,数据集中数量最多的岗位是哪些,也通过柱状图可以得到不同薪资范围的岗位分布,那么我们如果想看不同类别岗位的占比呢,用上述两种图就不是很合适了,饼图可以很好的展现出不同类别的占比百分比情况,具有很强的直观性,饼图展示岗位占比的实现代码:

# 引入相关包
from pyecharts import options as opts
from pyecharts.charts import Page, Pie
import pandas as pd
# 读取数据并统计不同职位类别的频率
res = pd.read_csv('./test.csv')
x_index = list(res.职位类别.value_counts().index)
y_value1 = res.职位类别.value_counts().to_list()
# 作饼图
pie=(
         Pie()
        .add("", [list(z) for z in zip(x_index, y_value1)])
         .set_global_opts(title_opts=opts.TitleOpts(title="饼"))
        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
         )
pie.render_notebook()

作出的饼图效果:
在这里插入图片描述
可以看出销售客服类的占比最多。

总结

本章我们通过pyeharts工具包教大家如何做一些基本的可视化分析图表,当然这些都是可视化分析的开始,更复杂的场景和可视化还需要更深入的探究。
感谢您的阅读,如果您对博客内容的源码感兴趣,或者希望持续获得后续关于大数据分析的系列干货知识,可微信搜索“数据分析师进阶”或扫描以下二维码关注即可,公众号私信即可获取源码信息。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Julielalala/article/details/121455393