使用SQL分析数据科学职业发展趋势

大家好,在数据成为新石油的今天,了解数据科学职业的细微差别比以往任何时候都更加重要。无论你是正在寻找机会的数据爱好者,还是资深数据专家,使用SQL都可以让你深入了解数据科学就业市场。

本文可以带你了解哪些数据科学职位最具吸引力,或者哪些职位能够提供最高薪水,同时将深入研究数据科学就业市场,从而解答这些问题。

本文将使用的数据集旨在揭示2021年至2023年期间数据科学领域的薪资模式。通过重点关注工作历史、工作职位以及公司地点等因素,该数据集为了解该行业的工资分布情况提供了重要依据。

本文将为以下问题找到答案:

  1. 不同经验水平的平均工资是什么样的?

  2. 数据科学领域中最常见的职位名称是什么?

  3. 薪资分布如何随公司规模变化?

  4. 数据科学岗位主要位于哪些地理位置?

  5. 数据科学中哪些职位提供薪酬最高?

可以从Kaggle下载这些数据。

【数据集】:https://www.kaggle.com/code/zabihullah18/data-science-salary-trend

1. 不同经验水平的平均工资

在这个SQL查询中,本文正在找出不同经验水平的平均工资。GROUP BY子句按经验水平对数据进行分组,AVG函数计算每个组的平均工资。

这有助于了解该领域的经验如何影响收入潜力,这对规划数据科学的职业道路至关重要。接下来查看一下代码:

SELECT experience_level, AVG(salary_in_usd) AS avg_salary
FROM salary_data
GROUP BY experience_level;

现在本文使用Python可视化这个输出:

# 导入绘图所需的库
import matplotlib.pyplot as plt
import seaborn as sns
# 设置图表样式
sns.set(style="whitegrid")

# 初始化用于存储图形的列表
graphs = []

plt.figure(figsize=(10, 6))
sns.barplot(x='experience_level', y='salary_in_usd', data=df, estimator=lambda x: sum(x) / len(x))
plt.title('Average Salary by Experience Level')
plt.xlabel('Experience Level')
plt.ylabel('Average Salary (USD)')
plt.xticks(rotation=45)
graphs.append(plt.gcf())
plt.show()

现在,本文来比较一下入门级和资深级、中级和高级的工资。

首先从入门级和资深级的开始:

# 筛选入门级和资深级的数据
entry_experienced = df[df['experience_level'].isin(['Entry_Level', 'Experienced'])]

# 筛选中级和高级数据
mid_senior = df[df['experience_level'].isin(['Mid-Level', 'Senior'])]

# 绘制入门级与资深级的对比图表
plt.figure(figsize=(10, 6))
sns.barplot(x='experience_level', y='salary_in_usd', data=entry_experienced, estimator=lambda x: sum(x) / len(x) if len(x) != 0 else 0)
plt.title('Average Salary: Entry_Level vs Experienced')
plt.xlabel('Experience Level')
plt.ylabel('Average Salary (USD)')
plt.xticks(rotation=45)
graphs.append(plt.gcf())
plt.show()

这是生成的图表:

图片

现在,本文来绘制中级和高级的工资:

# 绘制中级和高级的图表
plt.figure(figsize=(10, 6))
sns.barplot(x='experience_level', y='salary_in_usd', data=mid_senior, estimator=lambda x: sum(x) / len(x) if len(x) != 0 else 0)
plt.title('Average Salary: Mid-Level vs Senior')
plt.xlabel('Experience Level')
plt.ylabel('Average Salary (USD)')
plt.xticks(rotation=45)
graphs.append(plt.gcf())
plt.show()

图片

2. 数据科学领域中最常见的职位名称

在这里,本文将提取数据科学领域中前10个最常见的职位名称。COUNT函数会统计每个职位名称的出现次数,并按降序排列结果,从而将最常见的职位名称排在最前面。

通过这些信息,可以了解就业市场的需求情况,从而确定自己可以瞄准的潜在职位目标。接下来查看一下代码。

SELECT job_title, COUNT(*) AS job_count
FROM salary_data
GROUP BY job_title
ORDER BY job_count DESC
LIMIT 10;

使用Python来可视化这个查询:

plt.figure(figsize=(12, 8))
sns.countplot(y='job_title', data=df, order=df['job_title'].value_counts().index[:10])
plt.title('Most Common Job Titles in Data Science')
plt.xlabel('Job Count')
plt.ylabel('Job Title')
graphs.append(plt.gcf())
plt.show()

接下来看看图表:

图片

3. 薪资分布如何随公司规模变化

在这个查询中,本文提取了每个公司规模分组的平均薪资、最低薪资和最高薪资,使用AVGMINMAX等聚合函数有助于全面了解薪资情况与公司规模的关系。

这些数据非常重要,因为它们可以帮助你了解可以期望的潜在收入,这取决于你想要加入的公司的规模。

SELECT company_size, AVG(salary_in_usd) AS avg_salary, MIN(salary_in_usd) AS min_salary, MAX(salary_in_usd) AS max_salary
FROM salary_data
GROUP BY company_size;

本文将使用Python来可视化这个查询:

plt.figure(figsize=(12, 8))
sns.barplot(x='company_size', y='salary_in_usd', data=df, estimator=lambda x: sum(x) / len(x) if len(x) != 0 else 0, order=['Small', 'Medium', 'Large'])
plt.title('Salary Distribution by Company Size')
plt.xlabel('Company Size')
plt.ylabel('Average Salary (USD)')
plt.xticks(rotation=45)
graphs.append(plt.gcf())
plt.show()

以下是输出结果:

图片

4. 数据科学岗位主要位于哪些地理位置

在这里,本文确定了拥有最多数据科学职位机会的前10个地点。本文使用COUNT函数来确定每个地点的职位发布数量,并按降序排列,以突出显示机会最多的地区。

掌握了这些信息,可以帮助读者了解数据科学职位的中心地理区域,有助于做出潜在的迁移决定。

SELECT company_location, COUNT(*) AS job_count
FROM salary_data
GROUP BY company_location
ORDER BY job_count DESC
LIMIT 10;

本文将使用Python来绘制上述代码的图表:

plt.figure(figsize=(12, 8))
sns.countplot(y='company_location', data=df, order=df['company_location'].value_counts().index[:10])
plt.title('Geographical Distribution of Data Science Jobs')
plt.xlabel('Job Count')
plt.ylabel('Company Location')
graphs.append(plt.gcf())
plt.show()

请查看如下所示的图表:

图片

5. 数据科学领域中哪些职位提供薪酬最高

在这里,本文确定了数据科学领域中薪资最高的前10个职位头衔。通过使用AVG,本文计算出每个职位头衔的平均薪资,并根据平均薪资的降序排序,以突出显示最赚钱的职位。

通过查看这些数据,可以在自己的职业道路上有所追求,接下来继续了解读者如何为这些数据创建Python可视化。

SELECT job_title, AVG(salary_in_usd) AS avg_salary
FROM salary_data
GROUP BY job_title
ORDER BY avg_salary DESC
LIMIT 10;

以下是输出结果:

排名职位头衔平均薪资(美元)
1数据科学技术主管375,000.00
2云数据架构师250,000.00
3数据主管212,500.00
4数据分析主管211,254.50
5首席数据科学家198,171.13
6数据科学总监195,140.73
7首席数据工程师192,500.00
8机器学习软件工程师192,420.00
9数据科学经理191,278.78
10应用科学家190,264.48

这次,读者可以尝试自己创建一个图表。

提示:可以使用以下ChatGPT中的提示来生成此图形的Pythonic代码:

<SQL Query here>

Create a Python graph to visualize the top 10 highest-paying job titles in Data Science, similar to the insights gathered from the given SQL query above.

# <SQL查询代码>

# 创建一个Python图形来可视化数据科学领域中薪资最高的前10个职位头衔,类似于上述给定SQL查询所得到的见解。

跟随本文结束对数据科学职业世界的多种探索,希望SQL能成为一个可靠的指南,帮助你发掘出有关支持职业决策的见解。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/139150.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决渗透测试js文件泄露

解决办法&#xff1a;使用过滤器过滤 public class StaticSourceFilter implements Filter {private static Logger logger LoggerFactory.getLogger(StaticSourceFilter.class);Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepub…

基于springboot实现生鲜超市管理的设计与实现系统【项目源码】

基于springboot实现生鲜超市管理的设计与实现系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点&#xff0c;而且Java是开源的&#xff0c;拥有全世界最大的开发者专业社群…

leetcode:2935. 找出强数对的最大异或值 II【最大异或值还是得看01Trie树啊!】

题目截图 题目分析 排序后&#xff0c;限定了x和y的相对位置 假设y > x&#xff0c;随着y的移动&#xff0c;必须要保证2x > y 所以可以使用滑动窗口维护一堆满足条件的x 这些x的异或值记录在Trie树中即可 ac code class Node:__slots__ children, cntdef __init__(s…

软件启动故障:msvcr100.dll丢失的解决方法,修复程序启动问题

在计算机技术日益发展的今天&#xff0c;我们经常会遇到各种各样的问题。其中&#xff0c;“msvcr100.dll是什么”这个问题&#xff0c;相信很多人都曾经遇到过。那么&#xff0c;msvcr100.dll究竟是什么呢&#xff1f;它又有什么作用呢&#xff1f;本文将从以下几个方面来探讨…

普通线性回归和评估指标代码实战

我们用加州房价预测来讲述普通线性回归的算法实战和预测指标。在这里省去数据预处理和特征工程的步骤。首先导入相应的模块&#xff1a; from sklearn.linear_model import LinearRegression as LR from sklearn.model_selection import train_test_split from sklearn.model_…

华视电子驱动安装

1、安装驱动 下载地址&#xff1a;http://ws.it0355.com/a/202101/07/a27013.htm 双击exe文件安装驱动&#xff1a; 检查驱动运行正常&#xff1a; http://www.winwin7.com/soft/xtbd-12727.html vc库安装

IT服务台与Microsoft集成

Microsoft Teams 旨在通过创建一个共享工作区&#xff0c;使组织中的协作更加轻松&#xff0c;用户可以在其中聊天、开会、共享文件和访问业务应用。为了实现这些数字工作空间的最大效率&#xff0c;这一点很重要&#xff0c;当出现问题时&#xff0c;IT服务台团队始终在前沿。…

如何使用Docker搭建Drupal内容管理系统并远程访问

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525;个人专栏:《Linux深造日志》《C干货基地》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal…

lua环境安装

文章目录 Linux 系统上安装Mac OS X 系统上安装Window 系统上安装 Lua第一个 Lua 程序 Linux 系统上安装 Linux & Mac上安装 Lua 安装非常简单&#xff0c;只需要下载源码包并在终端解压编译即可&#xff0c;本文使用了5.3.0版本进行安装&#xff1a; curl -R -O http://…

2011年12月19日 Go生态洞察:用Go构建StatHat的故事

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

【蓝桥杯选拔赛真题19】C++最佳策略 第十二届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C++最佳策略 一、题目要求 1、编程实现 2、输入输出 二、算法分析 <

matlab 小波自适应阈值去噪

1、内容简介 略 12-可以交流、咨询、答疑 小波自适应阈值去噪 2、内容说明 小波自适应阈值一维信号去噪&#xff0c;也包含软阈值和硬阈值 硬阈值、软阈值、自适应阈值 3、仿真分析 略 4、参考论文 略 链接&#xff1a;https://pan.baidu.com/s/1yQ1yDfk-_Qnq7tGpa23L…

用python将csv表格数据做成热力图

python的开发者为处理表格和画图提供了库的支持&#xff0c;使用pandas库可以轻松完成对csv文件的读写操作&#xff0c;使用matplotlib库提供了画热力图的各种方法。实现这个功能首先需要读出csv数&#xff0c;然后设置自定义色条的各种属性如颜色&#xff0c;位置&#xff0c;…

Springboot+Dubbo+Nacos 集成 Sentinel(入门)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 官网 1.版本选择 参考 SpringClou…

农业水土环境建模流程、DEM数据制备、土地利用数据制备、土壤数据制备、气象数据制备、农业措施数据制备、参数率定与结果验证、农业面源污染分析

目录 一、农业水土环境建模概述 二、ArcGIS入门 三、农业水土环境建模流程 四、DEM数据制备流程 五、土地利用数据制备流程 六、土壤数据制备流程 七、气象数据制备流程 八、农业措施数据制备流程 九、参数率定与结果验证 十、模型结果分析及地图制作 十一、农业土壤…

说说React服务端渲染怎么做?原理是什么?

一、是什么 在SSR中,我们了解到Server-Side Rendering ,简称SSR,意为服务端渲染 指由服务侧完成页面的 HTML 结构拼接的页面处理技术,发送到浏览器,然后为其绑定状态与事件,成为完全可交互页面的过程 其解决的问题主要有两个: SEO,由于搜索引擎爬

jenkins CSV编码导致乱码问题解决

问题&#xff1a;生产报告会乱码的问题&#xff0c;一般是有编码格式引起的。我遇到的问题是&#xff0c;jmeter需要读取csv的数据作为参数。但是我们并不知道csv保存是什么编码格式&#xff0c;有可能不是utf-8的编码格式&#xff0c;所以会导致中文乱码的问题 解决方案&#…

MVVM框架:图片加载有问题

一、前言&#xff1a;在我使用ImageView加载图片的时候添加如下代码发现报错 app:imageUrl"{viewModel.observableField.assetImg}"报错如下错误 二、原因&#xff1a;是啥我不太清楚好像是没有imageView的适配器&#xff0c;后来我看了一下确实没有 public class I…

vant+thinkphp实现文件上传功能

vantthinkphp实现文件上传功能 前端thinkphp后端测试 前端 vue3 vant 代码实现 fileList 预览文件列表&#xff0c;具体可以参考官方文档 let config { headers: { //添加请求头 “Content-Type”: “multipart/form-data”, }, }; 需要以form-data的形式上传文件&#xff…

简单实现,在nodejs中简单使用kafka

什么是 Kafka Kafka 是由 Linkedin 公司开发的&#xff0c;它是一个分布式的&#xff0c;支持多分区、多副本&#xff0c;基于 Zookeeper 的分布式消息流平台&#xff0c;它同时也是一款开源的基于发布订阅模式的消息引擎系统。 Kafka 的基本术语 消息&#xff1a;Kafka 中的…