(前情提要)我爬了拉勾网搜索“设计”职位的招聘信息,Python爬虫获取拉勾网招聘信息详见Python爬虫获取拉勾网招聘信息。并用pyecharts画了地图Geo,Map,条形图,饼图以及词云图。详见拉勾网“设计”职位数据分析之用pyecharts画地图Geo,Map,拉勾网“设计”职位数据分析之用pyecharts画条形图Bar,拉勾网“设计”职位数据分析之用pyecharts画饼图(南丁格尔图玫瑰图)Pie,拉勾网“设计”职位数据分析之用pyecharts画词云图。
接下来画最后一个图———箱线图(其实箱线图这里我不是太明白,有点照猫画虎的意思吧,还需要再多多学习学习)
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Boxplot
from pyecharts.globals import ChartType, SymbolType,ThemeType
df = pd.read_excel('lagou_sj0309_155511.xlsx')
#处理薪酬数据
pattern = '\d+'
# 将字符串转化为列表,薪资取最低值加上区间值得25%,比较贴近现实
df['salarys'] = df['salary'].str.findall(pattern)
avg_salary_list = []
for k in df['salarys']:
int_list = [int(n) for n in k]
avg_salary = int_list[0] + (int_list[1] - int_list[0]) / 4
avg_salary_list.append(avg_salary)
df['月薪'] = avg_salary_list
#处理工作年限数据
df['workYears']=df['workYear'].replace({'应届毕业生':'1年以下','不限':'1年以下'})
groupby_workyear=df.groupby(['workYears'])['月薪']
count_groupby_workyear=groupby_workyear.count()
count_groupby_workyear=count_groupby_workyear.reindex(['1年以下','1-3年','3-5年','5-10年'])
a = count_groupby_workyear.index
dff=[]
for b in a:
c=groupby_workyear.get_group(b).values
dff.append(c)
c = Boxplot(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
c.add_xaxis(['1年以下','1-3年','3-5年','5-10年']).add_yaxis("薪酬k/月", c.prepare_data(dff)
).set_global_opts(title_opts=opts.TitleOpts(title="不同工作经验的薪酬分布"))
c.render("不同工作经验的薪酬分布.html")