本文数据为博主自己爬取
最新 Python3 爬取前程无忧招聘网 mysql和excel 保存数据
学完可视化,准备自行爬取数据,自行分析。在实践中获得书上没有的知识,源于书本,高于书本。
1、数据预处理
将存储在mysql 中的数据进行数据预处理
- 在jupyter notebook中进行调试
导出至excel 获得初步的数据结果
2、进行数据清洗
部分代码展示
# 构造想要分析的目标岗位,做一个数据筛选
target_job = ['数据分析','电商运营','新媒体运营','会计','财务经理','运营专员','销售助理','人事主管','网络推广专员','市场专员']
index = [df["岗位名"].str.count(i) for i in target_job]
index = np.array(index).sum(axis=0) > 0
job_info = df[index]
job_info.head()
# 公司类型 字段处理
# print(job_info['公司类型'].value_counts())
company_types = ['民营','合资','外资','事业单位','上市','国企','非营利组织','创业','外企代表处','政府机关']
company_types = np.array(company_types)
def rename(x=None, company_types=company_types):
name = [i in x for i in company_types]
if sum(name)>0:
return company_types[name][0]
else:
return x
job_info['公司类型'] = job_info['公司类型'].apply(rename)
print(job_info['公司类型'].value_counts())
job_info.head()
最终效果
3、数据可视化(pyecharts)
- 将清洗好的数据进行导入
import pandas as pd
df = pd.read_excel('after_cleaning_data.xlsx')
df.head()
部分代码展示------制作图表
- 饼图 不同学历分布
from pyecharts.charts import Pie
# 饼图 不同学历分布
educations = df['学历'].value_counts()
educations_index = educations.index.tolist()
educations_values = educations.values.tolist()
# educations_list = [(i,j) for i,j in zip(educations_index,educations_values)]
# educations_list # for test
pie1 = (
Pie(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add('',data_pair=[(i,j) for i,j in zip(educations_index,educations_values)])
.set_global_opts(title_opts={'text':'招收岗位学历分布图'},toolbox_opts=opts.ToolboxOpts(is_show=True),
legend_opts=opts.LegendOpts(pos_bottom='5%'))
)
pie1.render_notebook()
- 不同公司类型的工资水平
# 不同公司类型的工资水平
salary_level = df.groupby("公司类型")["工资水平"].mean()
# print(type(salary_level))
# Series转换为DataFrame
type_salary=pd.DataFrame({'公司类型':salary_level.index,'平均工资':salary_level.values})
type_salary['平均工资'] = type_salary['平均工资'].apply(lambda x :round(x))
# type_salary for test
bar3 = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis(type_salary['公司类型'].values.tolist())
.add_yaxis(series_name='不同类型公司的工资水平',yaxis_data=type_salary['平均工资'].values.tolist())
.set_global_opts(toolbox_opts=opts.ToolboxOpts(is_show=True),
title_opts={'text':'不同公司类型的工资水平图'},
xaxis_opts=opts.AxisOpts(axislabel_opts={'interval':'0'}))
)
bar3.render_notebook()
- 工作经验与工资水平折线图
from pyecharts.charts import Line
bar5 = (
Line(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add_xaxis(ex_sa['工作经验'].values.tolist())
.add_yaxis('工资水平',y_axis=ex_sa['工资水平'].values.tolist())
.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={'interval':'0'}),
toolbox_opts=opts.ToolboxOpts(is_show=True),
title_opts={'text':'工作经验与工资水平折线图'})
)
bar5.render_notebook()
本人目前为了加强可视化,数据清洗能力,会自行爬取数据并进行可视化分析,如果有小伙伴和我一样,关注我,会有新的案例,一起进步。
本文代码可以共享,需要请评论或私聊
转载:https://blog.csdn.net/weixin_45215649/article/details/107939325
查看评论