当前位置:

十七.案例演示--招聘信息分析

访客 2024-04-25 833 0

数据是可以说话的,明确数据分析是干什么的...

可能是我太cai

                                            .

本次案例数据条数为:6662.   

 

import pandas as pdimport numpy as npfrom pyecharts import options as opts

读取文件:

file_path = "./data/work_all.xlsx"data = pd.read_excel(file_path,sheet_name="Sheet1")data.head(1)

查看对象大体结构,数据:

data.info()

1.每个岗位在行业当中的占比

#去重#data["岗位类别"].unique()#数据构建-->作图df_data_cp = data.copy()work_count = df_data_cp.groupby("岗位类别").count()["岗位id"]work_countworh_data = np.round(work_count/work_count.sum()*100,2)worh_datawork_nums = list(zip(work_count.index,worh_data))work_numsfrom pyecharts.charts import Pieimage_one = (Pie().add("",work_nums,radius=["40%","70%"]).set_global_opts(legend_opts=opts.LegendOpts(orient="vertical",pos_left="5%",pos_top="10%")))image_one.render_notebook()

2.每个行业薪资

# 每个行业薪资work_salary = np.round(df_data_cp.groupby("岗位类别").mean()["起薪"])work_salary

#绘图from pyecharts.charts import Barimage_two = (Bar().add_xaxis(work_salary.index.to_list()).add_yaxis("薪资",work_salary.to_list()).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate="-45"))))image_two.render_notebook()

3.每个城市招聘数量

#操作数据前先看一下,明确要干什么.data.head(1)data["岗位类别"].unique()#这个函数就是归类;改一下一列的标签名为"数据科学",类似字典修改值.def read_work():data_one = df_data_cp["岗位类别"].str.strip()data_two = data_one.isin(["商业数据分析","数据产品经理","数据分析师","数据科学","数据运营","机器学习","算法工程师"])df_data_cp.loc[data_two,"岗位类别"] = "数据科学"return df_data_cpread_work()df_data_cp["岗位类别"].unique()#给数据绘图:city_name = df_data_cp.groupby("城市").count()["岗位id"].sort_values(ascending=False)city_namefrom pyecharts.charts import Barimage_three = (Bar().add_xaxis(city_name[:10].index.to_list()).add_yaxis("岗位数量",city_name[:10].to_list()))image_three.render_notebook()

4.招聘量前十城市的平均薪资

from pyecharts.charts import Linedf_data_cp.head(1)city_data = np.round(df_data_cp.groupby("城市").mean()["起薪"]).sort_values(ascending=False)city_salary = city_data.loc[city_name[:10].index.to_list()]image_four = (Line().add_xaxis(city_salary.index.to_list()).add_yaxis("平均薪资",city_salary))image_four.render_notebook()

image_five = (Bar().add_xaxis(city_name[:10].index.to_list()).add_yaxis("岗位数量",city_name[:10].to_list(),label_opts=opts.LabelOpts(is_show=False)).extend_axis(yaxis=opts.AxisOpts(name="平均薪资",type_="value",min_=0,max_=18000,axislabel_opts=opts.LabelOpts(formatter="{value}¥"))).set_global_opts(tooltip_opts=opts.TooltipOpts(is_show=True,trigger="axis",axis_pointer_type="cross"),yaxis_opts=opts.AxisOpts(name="招聘量",type_="value",min_=0,max_=3000)))line = (Line().add_xaxis(city_salary.index.to_list()).add_yaxis(series_name="平均薪资",yaxis_index=1,y_axis=city_salary,label_opts=opts.LabelOpts(is_show=False)))image_five.overlap(line).render_notebook()

双图示例(柱+折线): 


5.结合

# 结合from pyecharts.charts import Tabtab = Tab()tab.add(image_one,"占比")tab.add(image_two,"平均薪资")tab.add(image_three,"城市量")tab.add(image_four,"前十平均薪资")tab.add(image_five,"双轴图")tab.render_notebook()


发表评论

  • 评论列表
还没有人评论,快来抢沙发吧~