BOSS直聘上算法岗位的薪资分析

2024-01-02 13:36

本文主要是介绍BOSS直聘上算法岗位的薪资分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        

目录

一、数据介绍及预处理

1、数据介绍

2、数据预处理

二、数据分析

1、缺失值统计

2、岗位数量、薪资水平统计

3、企业维度岗位数量

4、top薪资岗位

三、划重点

少走10年弯路


        元旦抽空爬取了一下BOSS直聘上base北京的算法岗位的相关数据,本文简单分析拿给大家做参考,看完才发现算法薪资原来这么高啊、轻松秒掉数据分析。

        在PC端上打开BOSS直聘网页搜索算法,只会显示10页岗位(每页30条),所以我按照工作经验要求对应届生、 1年以内、 1-3年、 3-5年、 5-10年、 10年以上分别爬了10页数据,总共1770条(漏了30条也不是算法岗位,就不补了)。

一、数据介绍及预处理

1、数据介绍

        数据包括职位名称、base地点、薪资水平、经验及学历要求、招聘公司、行业、融资阶段、员工规模等 文末获取数据集

图片

2、数据预处理

(1)数据筛选

        由于BOSS直聘上搜索算法岗位的结果中,包含一些数据开发、AI产品等其他岗位,因此按照岗位名称是否包含算法/机器学习等来做筛选,剩余1411条

图片

(2)数据分割提取

        在job_area中包括市、行政区、乡镇三级地址,tag_list中包含经验要求、学历要求,company_tag_list中包含行业、融资阶段、员工规模,所以结合split方法、正则表达式分别进行数据提取。

图片


import re
def get_industry(string):try:result=re.findall('(.*?)[0-9].*[0-9].*',string)[0]l=['已上市','不需要融资','未融资','天使轮','A轮','B轮','C轮','D轮及以上']for s in l:result=result.replace(s,'')return resultexcept:return Nonedef get_scale(string):try:result=re.findall('([0-9].*[0-9].*)',string)[0]l=['已上市','不需要融资','未融资','天使轮','A轮','B轮','C轮','D轮及以上']for s in l:if s in result:result=result.split(s)[1]return resultexcept:return Nonedef dat_pred(data):df=data[data.job_name.str.contains('算法')|data.job_name.str.contains('机器学习')|data.job_name.str.contains('深度学习')|data.job_name.str.contains('自然语言')|data.job_name.str.contains('NLP')|data.job_name.str.contains('图像识别')].reset_index(drop=True).copy()df['district']=df.job_area.str.split('·').str[1]df['town']=df.job_area.str.split('·').str[2]df['experience']=df.tag_list.str.split('\\n').str[0]df['education']=df.tag_list.str.split('\\n').str[1]df['industry']=df.company_tag_list.apply(get_industry)
#     df['scale']=df.company_tag_list.apply(lambda x:re.findall('([0-9].*[0-9].*)',x)).str[0]df['scale']=df.company_tag_list.apply(get_scale)df['base_salary']=df.salary.str.split('-').str[0]df.base_salary=df.base_salary.astype(float)return dfdf_all_copy=df_all.pipe(dat_pred)
df_all_copy

(3)薪资数据处理

        考虑到薪资待遇下限更贴近实际,因此提取左边界作为base_salary用于分析,此外发现大部分salary单位是k、但是还有部分为元,所以进行标准化处理、统一为k。

图片

二、数据分析

1、缺失值统计

        由于BOSS直聘上的数据格式规范,所以爬取的数据质量尚可,整体缺失率低

图片

2、岗位数量、薪资水平统计

        对地域、学历、经验、员工规模等进行分组统计岗位数量、薪资水平

(1)行政区分组统计

        不出所料,海淀和朝阳的算法岗位数量远超其他地区,在海淀确实有很多互联网大厂的职场,在这个数据集中直接按行政区分组统计base_salary平均水平最高的反而是顺义(同数据分析),而顺义的数据量少、所以结果仅供参考

图片

图片

(2)经验要求分组统计

        从数据结果来看,相对于数据分析岗位而言、企业对应届生的算法岗位招聘量比较可观,当然应届生的面试难度可能更大;算法岗位基本起薪都在20k了,而且随着工作经验增加,算法岗位的薪资待遇增长也很稳定,3年基本就能拿到30k了

图片

图片

(3)学历要求分组统计

        从数据结果来看,企业对学历还是有一定要求的,大多本科起步;随着学历提高,薪资差异虽然没有那么大、但也还是明显的单调关系

图片

图片

3、企业维度岗位数量

图片

4、top薪资岗位

        分别对不同经验要求的算法岗位排序的到最高的top10薪资,可以看到在不同经验要求下最高的一批薪资都是很可观的、尤其是top岗位薪资是超乎想象的高,所以加油吧朋友们,钱途可期啊

图片

图片

图片

图片

三、划重点

少走10年弯路

        关注威信公众号 Python风控模型与数据分析,回复 BOSS直聘算法 获取本篇数据及代码

        还有更多理论、代码分享等你来拿

这篇关于BOSS直聘上算法岗位的薪资分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/562598

相关文章

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

通俗易懂的Java常见限流算法具体实现

《通俗易懂的Java常见限流算法具体实现》:本文主要介绍Java常见限流算法具体实现的相关资料,包括漏桶算法、令牌桶算法、Nginx限流和Redis+Lua限流的实现原理和具体步骤,并比较了它们的... 目录一、漏桶算法1.漏桶算法的思想和原理2.具体实现二、令牌桶算法1.令牌桶算法流程:2.具体实现2.1

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep