当前位置:
首页 > temp > python入门教程 >
-
【Python数据分析】可视化图表分析拉钩网招聘数据
前言
上次我们爬了拉钩网的数据,现在我们来分析下,看看哪些公司的招聘信息具体需求都是哪些,让我们用可视化图表展示
导入所需模块
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()
来源:https://www.cnblogs.com/qshhl/p/15438564.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数