前言
上次我們爬了拉鈎網的數據,現在我們來分析下,看看哪些公司的招聘信息具體需求都是哪些,讓我們用可視化圖表展示
import numpy as np import pandas as pd from pyecharts.charts import * from pyecharts import options as opts import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] from pyecharts.globals import ThemeType
df = pd.read_csv('data.csv', encoding='UTF-8') df.head()
df.info()
df.describe()
df.drop_duplicates(inplace = True)
df.duplicated().sum()
df['地區'] = df['地區'].apply(lambda x:x.split('-')[0]) df['地區'].unique() df['經驗'].unique() df['薪資'].unique() df['m_max'] = df['薪資'].str.extract('(\d+)')#提取出最低薪資 df['m_min'] = df['薪資'].str.extract('(\d+)K')#提取出最高薪資 df['m_max'] = df['m_max'].apply('float64')#轉換數據類型 df['m_min'] = df['m_min'].apply('float64') df['平均薪資'] = (df['m_max']+df['m_min'])/2 df.head()
dq = df.groupby('地區').count()['標題'] dq_index = dq.index.tolist() dq_value = dq.values.tolist() bar1 = (Bar(init_opts=opts.InitOpts(width='800px', height='400px',theme=ThemeType.MACARONS)) .add_xaxis(dq_index) .add_yaxis('', dq_value,category_gap="50%") .set_global_opts(title_opts=opts.TitleOpts(title="每個地區的招聘數量"), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-50)), visualmap_opts=opts.VisualMapOpts(max_=80),#彩色塊 datazoom_opts=[opts.DataZoomOpts()]#拉動條形軸 ) ) bar1.render_notebook()
pair_1 = [(i, int(j)) for i, j in zip(jingyan.index,jingyan.values)] pie = ( Pie(init_opts=opts.InitOpts(theme=ThemeType.MACARONS,width='1000px',height='600px')) .add('', pair_1, radius=['40%', '70%']) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%")) .set_global_opts( title_opts=opts.TitleOpts( title="經驗學歷需求圖", pos_left='center', pos_top='center', title_textstyle_opts=opts.TextStyleOpts( color='black', font_size=20, font_weight='bold' ), ) ) ) pie.render_notebook()
gongsi = df.groupby('經驗').count()['標題'] pie1 = ( Pie(init_opts=opts.InitOpts(theme=ThemeType.MACARONS,width='1500px',height='600px')) .add( "", [list(z) for z in zip(gongsi.index.tolist(), gongsi.values.tolist())], radius=["20%", "80%"], center=["25%", "70%"], rosetype="radius", label_opts=opts.LabelOpts(is_show=False), ).set_global_opts(title_opts=opts.TitleOpts(title="招聘公司所在領域")) ) pie1.render_notebook()