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

使用SQL了解数据科学职业趋势,用SQL揭开数据科学就业市场的秘密。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

图片

在数据成为新石油的今天,了解数据科学职业的细微差别比以往任何时候都更加重要。无论你是正在寻找机会的数据爱好者,还是资深数据专家,使用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能成为一个可靠的指南,帮助你发掘出有关支持职业决策的见解。

推荐书单

《SQL语言从入门到精通(软件开发视频大讲堂)》

《SQL语言从入门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了在开发中使用SQL语言必须掌握的技术。全书分为3篇共18章,内容包括SQL语言基础、SQL查询基础、复杂查询、数据排序、SQL函数的使用、分组统计、子查询、多表查询、添加数据、修改和删除数据、视图、存储过程、触发器、游标、索引、事务、管理数据库与数据表、数据库安全。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,读者可以轻松领会SQL语言的精髓,快速提高开发技能。

《SQL语言从入门到精通(软件开发视频大讲堂)》icon-default.png?t=N7T8https://item.jd.com/14055972.html

图片

精彩回顾

《数据存储优化,SQL中的数据类型和规范化》

《创建LLM应用程序,Python向量数据库和向量索引指南》

《OLAP与OLTP:数据处理系统的比较分析》

《性能优化,利用Python ORM优化SQL查询》

《练习SQL的7个最佳平台》

《使用Python内置模块加速SQL查询》

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

访问【IT今日热榜】,发现每日技术热点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值