第8章 实战-就业分析_第1页
第8章 实战-就业分析_第2页
第8章 实战-就业分析_第3页
第8章 实战-就业分析_第4页
第8章 实战-就业分析_第5页
已阅读5页,还剩33页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章实战——就业分析研究背景分析目标数据获取数据处理数据分析

熟悉数据分析的基本流程

掌握数据处理的基本方法

掌握常用的图表分析8.1研究背景8.1研究背景充分就业是宏观经济政策追求的四大目标之一,本章项目依据教育机构公布的就业数据,从学生的的毕业专业、就业城市、就业薪资等维度可视化展示分析结果,为高校毕业生的高质量就业提供参与依据。8.2分析目标8.2分析目标为了让管理者更清楚2022年的学生就业数据,数据分析师将通过对就业数据的就业城市分布、就业曲线、状态分析、就业薪资与学历关系做出基本的数据分析。1.就业城市分布就业城市分布是对学生的就业城市分布的相关统计。从城市分布可以看出不同城市的人才需求。2.就业曲线就业曲线为该月中每天的就业人数绘制出的就业走势图。通过该图的就业走势可以推断看出对应的就业规律。3.状态分析就业学生状态分析指的是学生在学校学习时的就业状态。通过就业状态的分析,管理者可以看出不同状态学生的就业形势。4.就业薪资与学历关系就业薪资与学历关系能够反映一个不同学历的学生之间的就业差距。管理者可以参考该数据对生源适当调整。8.3数据获取8.3数据获取本章项目的数据来源于某网站的就业信息,通过爬虫技术获取某网站的就业数据,网站信息如下图所示。8.3数据获取在顶端的“地区”选择“北京”,跳转到北京校区界面,选择“就业服务”一栏中的“就业大数据”选项跳转到就业信息界面,如下图所示。8.3数据获取按学科划分的就业信息栏如下图所示。8.3数据获取本书数据来源于的按月划分的信息栏,如下图所示。8.3数据获取为了便于操作,本案例已经将2022年中HTML5就业学生信息获取并保存到一个JSON文件中,因此可以直接读取数据集。使用Postman软件查看该类型部分数据形式如下图所示。8.4数据处理8.4数据处理1.数据类型的转换数据下载完成后,需要将数据转换成分析所需的数据形式,以进行数据预处理操作。对于就业信息的数据转换主要是将数据从源数据中抽取出来进行数据类型的转换。首先,使用Pandas读取之前爬取的数据。importpandasaspddata=pd.read_json("./studentJobData_year2022.json")注意:使用Pandas读取数据后,data参数的数据类型为Series型。然后,将需要student主体信息提取出来。student=data["student"]由于源数据为list类型,需要数据取出并通过列表推导式将数据重新整合为DataFrame数据类型。data=pd.DataFrame([iforiinstudent])print(data)classstudenteducation...citycompanydate0BK-HTML5-JY-2112乔*浩专科...北京北京**公司2022-01-211BK-HTML5-JY-2118宁*翔专科...北京北京**公司2022-02-172BK-HTML5-JY-2118李*专科...北京北京**公司2022-02-253BK-HTML5-JY-2118苗*涛专科...北京北京**公司2022-03-074BK-HTML5-JY-2118郑*妮专科...北京北京**公司2022-02-22........................11852QD-HTML5-JY-2203张*琦本科...青岛市青岛**科技2022-11-288.4数据处理2.数据去重数据去重是数据分析中必然会使用的处理手段。去重能够为最大程度的降低数据冗余性,为数据分析提供优质的数据源。首先,需要使用count()函数对数据源进行整体数据测量并观察,具体代码如下。importpandasaspddata=pd.read_json("./studentJobData_year2022.json")student=data["student"]data=pd.DataFrame([iforiinstudent])data.count()8.4数据处理8.4数据处理class11855student11857education11857status11645profession10629salary11857city11857company11857date11857dtype:int64由运行结果可见,学生总数为11857,但是class、status、profession三项中有缺失值。为了避免有重复值,先使用drop_duplicates()将重复值删除,具体代码如下。data.drop_duplicates()3.缺失值处理缺失值的处理十分重要,如果数据源中存在缺失值在数据处理中程序将会报错,处理后的数据效果将会大打折扣,使数据观察者得出错误结论。本案例使用isnull()函数与sum()函数进行数据统计,通过查看相应结果可以看出数据的缺失数量,具体如下。data.isnull().sum()8.4数据处理class2student0education0status212profession1228salary0city0company0date0dtype:int64通过上述结果可以看出class、profession、statues三项数据均有缺失值,缺失数量分别为2、1228、212,此项目中为了不减少数据量使用filllna()函数填充缺失值,将education、profession、statues三项数据缺失值分别填充为“2112”、“非计算机专业”、“待业”参数,具体如下data["class"]=data["class"].fillna(value="2112")data["profession"]=data["profession"].fillna(value="非计算机专业")data["status"]=data["status"].fillna(value="待业")data.isnull().sum()8.4数据处理class0student0education0status0profession0salary0city0company0date0dtype:int648.5数据分析1.就业城市分析就业城市可以使用,通过观察具体的地区分布可以看出数据的基本,具体步骤如下。首先,将城市数据提取出来。city_list=set(data["city"])8.5数据分析需要定义处理城市数据处理函数,该函数需要将数据处理成如[(城市名,数值),(城市名,数值)]形式。此处使用双层for循环实现,具体代码如下。defcity_num(city_list,data_list):city_count=[]foriincity_list:num=0forjindata_list:ifj==i:num=num+1city_count.append((i,num))returncity_countdata_city=city_num(city_list,data["city"])8.5数据分析[('深圳市',1084),('盐城市',1),('芜湖市',5),('孝感市',2),('南通市',6),('嘉兴市',25),('泉州市',4),('常州市',17),('福州市',39),('河源市',1),('太原市',28),('青岛市',198),('合肥市',317),('三亚市',1),('成都市',849),('新乡市',6),('江门市',2),('湖州市',7),('泰州市',1),('烟台市',12),('马鞍山市',4),('龙岩市',1),('池州市',1),('玉溪市',1),('枣庄市',1),('宁波市',147),('郑州市',216),('石家庄市',18),('荆州市',2),('上饶市',1),('沧州市',1),('咸宁市',1),('兰州市',24),('哈尔滨市',13),('佛山市',29),('绵阳市',5),('徐州市',1),('榆林市',1),('昆明市',9),('衢州市',2),('汉中市',1),('贵阳市',28),('三门峡市',1),('郴州市',1),('吉林市',2),('秦皇岛市',1),('杭州市',1344),('蚌埠市',1),('惠州市',11),...将得到的数据按照城市数量排序,具体代码如下df=pd.DataFrame(data_city)df=df.sort_values(by=1,axis=0,ascending=False)print(df)8.5数据分析01136北京189774杭州市1344128深圳市108414西安市94164武汉市869........48株洲市165河池市147衡水市1107汉中市126淮安市1[145rowsx2columns]2.就业曲线就业曲线图可以帮助就业老师分析全国校区的就业形势,从而调整就业策略。首先,将就业数据的日期提取,并通过去重操作获得纯净的日期数据值,并且由于数据庞大,因此将日期数据转换为“年-月”的形式,具体代码如下。8.5数据分析date_getjob=list(set(data["date"]))new_data=[]foriindata["date"]:i=i[0:7]new_data.append(i)date_getjob.sort()#将日期排序date_getjob_1=[]#创建新列表foriindate_getjob:i=i[0:7]#截取”年—月”date_getjob_1.append(i)print(date_getjob_1)8.5数据分析['2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-01','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-02','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03','2022-03',...,'2022-10','2022-10','2022-10','2022-10','2022-10','2022-10','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-11','2022-12','2022-12','2022-12']将对应日期中的就业人数统计出来,并生成相应的字典形式数据,具体代码如下。8.5数据分析date_data={}foriindate_getjob_1:sum_num=0forjinnew_data:ifi==j:sum_num=sum_num+1date_data[i]=sum_num接下来将数据排序,具体代码如下。date_data1=list(date_data.keys())date_data1.sort()a={}foriindate_data1:a[i]=date_data[i]print(a){'2022-01':486,'2022-02':731,'2022-03':1384,'2022-04':1053,'2022-05':946,'2022-06':880,'2022-07':1274,'2022-08':1927,'2022-09':1372,'2022-10':919,'2022-11':880,'2022-12':5}最后,将数据进行可视化处理,这里需要将生成的字典键值对分离用作折线图的横轴与纵轴,绘制折线图具体代码如下。8.5数据分析frommatplotlibimportpyplotaspltdate_1=[]#存放时间count=[]#存放数量forkey,valueina.items():date_1.append(key)count.append(value)plt.plot(date_1,count)plt.show()3.状态分析分析学生的状态有利于就业老师对就业数据的整体把控,通过查看学生的状态结构表能够适时地调整招生对象。首先,将学生的状态信息从数据源中提取并去重,然后查看提取状态信息,将不同状态的学生进行分类,具体代码如下。8.5数据分析data_statue=set(data["status"])data_statuedata_zaizhi=data[data["status"]=="在职"]data_zaidu=data[data["status"]=="在读"]data_dasan=data[data["status"]=="大三"]data_daer=data[data["status"]=="大二"]data_dasi=data[data["status"]=="大四"]data_yingjie=data[data["status"]=="应届"]data_daiye=data[data["status"]=="待业"]data_feiyingjie=data[data["status"]=="非应届"]将不同类别的信息提取出来,并使用count()对数据进行汇总,8.5数据分析a=[["在职",data[data["status"]=="在职"].count().student],["在读",data[data["status"]=="在读"].count().student],["大三",data[data["status"]=="大三"].count().student],["大二",data[data["status"]=="大二"].count().student],["大四",data[data["status"]=="大四"].count().student],["应届",data[data["status"]=="应届"].count().student],["待业",data[data["status"]=="待业"].count().student],["非应届",data[data["status"]=="非应届"].count().student]]a使用数据对应数据pie()类数据进行绘制8.5数据分析importmatplotlib.pyplotaspltdata_zaizhi=data[data["status"]=="在职"]data_zaidu=data[data["status"]=="在读"]data_dasan=data[data["status"]=="大三"]data_daer=data[data["status"]=="大二"]data_dasi=data[data["status"]=="大四"]data_yingjie=data[data["status"]=="应届"]data_daiye=data[data["status"]=="待业"]data_feiyingjie=data[data["status"]=="非应届"]a=[data[data["status"]=="在职"].count().student,data[data["status"]=="在读"].count().student,data[data["status"]=="大三"].count().student,data[data["status"]=="大二"].count().student,data[data["status"]=="大四"].count().student,data[data["status"]=="应届"].count().student,data[data["status"]=="待业"].count().student,data[data["status"]=="非应届"].count().student]status=["在职","在读","大三","大四","应届","待业","非应届"]plt.pie(a,labels=["在职","在读","大三","大二","大四","应届","待业","非应届"],autopct="%1.1f%%")plt.rcParams['font.sans-serif']=['SimHei']#中文显示plt.title("学生就业状态分析")plt.show()4.就业薪资与学历分析8.5数据分析new_data=data.drop(['city',"class","company","date","profession","student"],axis=1)Print(new_data)通过就业薪资和学历的分析可以帮助学校控制生源。为便于数据的审查,本此分析方向只着重于高中、专科、本科、硕士首先,将数据处理成只有学历和薪资的数据表,此处使用的drop()函数进行删除,具体如下。运行结果如下8.5数据分析educationsalary0专科90001专科140002专科130003专科130004专科14000.........11852本科600011853专科700011854本科600011855高中以下700011856专科8000[11857rowsx2columns]将处理完成的数据绘制成箱线图,具体代码如下。8.5数据分析importmatplotlib.pyplotaspltimportmatplotlib#将专科分组a=new_data[new_data['education'].isin(["专科"])]a=a.drop('education',axis=1)a=a.values.tolist()zhuan=[]fors_liina:zhuan.append(s_li[0])zhuan_1=[]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论