互联网人员招聘漏斗如何制作?超简单,一文告诉你

内容分享3周前发布
0 4 0

据说今年找工作很难,不得不说行业化内卷严重,且近几年就业形势一直都不太好,一方面高校毕业生逐年在递增,另一方面,市场的岗位需求趋近饱和,一岗难求。

基于此,本文使用智联招聘、BOSS直聘等在线招聘平台的招聘人数数据,借助pandas和pyecharts两个包,绘制漏斗图,从招聘流程上解析人数的变化情况。

示例工具:anconda3.7

本文讲解内容:openpyxl、pyecharts使用

适用范围:招聘业务中的漏斗分析

安装及导入库

使用pip命令下载pyecharts包,并指定下载的包的版本是1.9.0版本,如果下载速度比较慢的话,后面可以加一个-i清华镜像下载包,当出现Sussessfully的字样时,就表明pyecharts包已经安装好。

!pip install pyecharts==1.9.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

互联网人员招聘漏斗如何制作?超简单,一文告知你

这里我们导入openpyxl库用于数据导入,以及pyecharts库用于数据可视化。

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

import openpyxl
from pyecharts import options as opts
from pyecharts.charts import Funnel,Grid,Bar,Page

数据导入

使用openpyxl库数据导入,读取指定路径的数据表,并指定读取工作表1该sheet表下的数据。

# 读取excel数据
workbook = openpyxl.load_workbook(r'C:Desktop招聘数据.xlsx') 
sheet = workbook['工作表1']

新建一个空的列表[ ],使用sheet['A'][0].value可以读取指定单元格内的数据,如果要读取指定单元格区域的数据,可以使用for循环进行循环读取,用append命令将读取的数据合并在列表中,导入智联招聘数据如下。

value1 = []
title1 = sheet['A'][0].value
for cell in (sheet['B'][1::]): #定位数据位置
    value1.append(cell.value)

title1
value1

互联网人员招聘漏斗如何制作?超简单,一文告知你

同理导入BOSS直聘数据。

value2 = []
title2 = sheet['F'][0].value
for cell in (sheet['G'][1::]):  #定位数据位置
    value2.append(cell.value)

title2
value2

互联网人员招聘漏斗如何制作?超简单,一文告知你

导入前程无忧的数据如下。

value3 = []
title3 = sheet['K'][0].value
for cell in (sheet['L'][1::]):   #定位数据位置
    value3.append(cell.value)

title3
value3

互联网人员招聘漏斗如何制作?超简单,一文告知你

导入指定的数据区域。

value4 = []
for cell in (sheet['Q'][1::]):   #定位数据位置
    value4.append(cell.value)
    
value4

互联网人员招聘漏斗如何制作?超简单,一文告知你

构建数据集

想要做出漏斗图,需要构造出含字段标签的数据集,我们使用列表解析式来生成,如果要做不同公司的漏斗图,就要分别构造数据集,数据集结果如下。

attr = ["浏览","简历", "约面", "到面", "offer","入职"]
value1 = [int(i) for i in value1]

data1 = [[attr[i], value1[i]] for i in range(len(attr))]
data1

互联网人员招聘漏斗如何制作?超简单,一文告知你

data2 = [[attr[i], value2[i]] for i in range(len(attr))]
data2

互联网人员招聘漏斗如何制作?超简单,一文告知你

data3 = [[attr[i], value3[i]] for i in range(len(attr))]
data3

互联网人员招聘漏斗如何制作?超简单,一文告知你

数据可视化

绘制智联招聘人数的漏斗图,使用可视化对象Funnel(),导入数据data1,其他可视化配置可以默认或者使用参数进行设置,.render_notebook()命令可在notebook在线展示。

funnel1=(
    Funnel()
    .add(
        series_name="人数/人",
        #sort_='ascending',
        data_pair=data1,
        gap=2,
        tooltip_opts=opts.TooltipOpts(),
        label_opts=opts.LabelOpts(is_show=True, position="inside"),
        itemstyle_opts=opts.ItemStyleOpts(border_color="#fff", border_width=1),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title=title1, subtitle="招聘人数转化漏斗分析"))
)
funnel1.render_notebook()

互联网人员招聘漏斗如何制作?超简单,一文告知你

同理制作BOSS直聘的招聘人数漏斗图。

funnel2=(
    Funnel()
    .add(
        series_name="人数/人",
        #sort_='ascending',
        data_pair=data2,
        gap=2,
        tooltip_opts=opts.TooltipOpts(),
        label_opts=opts.LabelOpts(is_show=True, position="inside"),
        itemstyle_opts=opts.ItemStyleOpts(border_color="#fff", border_width=1),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title=title2, subtitle="招聘人数转化漏斗分析"))
)
funnel2.render_notebook()

互联网人员招聘漏斗如何制作?超简单,一文告知你

还有前程无忧的招聘人数漏斗图。

funnel3=(
    Funnel()
    .add(
        series_name="人数/人",
        #sort_='ascending',
        data_pair=data3,
        gap=2,
        tooltip_opts=opts.TooltipOpts(),
        label_opts=opts.LabelOpts(is_show=True, position="inside"),
        itemstyle_opts=opts.ItemStyleOpts(border_color="#fff", border_width=1),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title=title3, subtitle="招聘人数转化漏斗分析"))
)
funnel3.render_notebook()

互联网人员招聘漏斗如何制作?超简单,一文告知你

如果想要做一个词云图,根据关键词的大小来呈现招聘人数的多少,导入视觉对象WordCloud,并且构造数据集words,即可制作词云图。

from pyecharts import options as opts
from pyecharts.charts import WordCloud

words = [(attr[i], value4[i]) for i in range(len(attr))]

wordcloud=(
    WordCloud()
    .add(
        "人数",
        words,
        word_size_range=[30, 100],
        textstyle_opts=opts.TextStyleOpts(font_family="cursive"))
    .set_global_opts(title_opts=opts.TitleOpts(title="面试人数词云图")) 
)
wordcloud.render_notebook()

互联网人员招聘漏斗如何制作?超简单,一文告知你

结果导出

以上做出各个招聘公司的招聘人数漏斗图,可看出,在整个招聘过程中,从网站浏览到筛选简历的过程中,基本有一半简历会被刷下来,所以,在找工作时,尤其要写出一份精美的简历,良好的简历让人眼前一亮,避免第一关就被PASS掉,可视化做出来后使用page命令,将前面的结果呈目前一张界面中,并可以保存为网页版结果。

page = Page(layout=Page.SimplePageLayout)#layout=Page.DraggablePageLayout自定义布局
page.add(funnel1,funnel2,funnel3,wordcloud)
page.render(r"C:Desktop招聘人数漏斗分析.html")

互联网人员招聘漏斗如何制作?超简单,一文告知你

三年互联网数据分析经验,擅长Excel、SQL、Python、PowerBI数据处理工具,数据可视化、商业数据分析技能,统计学、机器学习知识,持续创作数据分析内容,点赞关注,不迷路。

© 版权声明

相关文章

4 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    熊富 读者

    三个网站之间的数量相对比例用三个独立漏斗是无法展现的。还不如用一张分类柱形图或分类条形图。三根分成几段的柱子就解决了。

    无记录
  • 头像
    变态学教授无铭 投稿者

    好建议,感谢建议

    无记录
  • 头像
    犀利的小呢 读者

    大家找到满意的工作了吗?说说今年对工作的看法

    无记录
  • 头像
    白鹿的浅浅 读者

    收藏了,感谢分享

    无记录