数据分析案例-数据科学相关岗位薪资可视化分析

简介: 数据分析案例-数据科学相关岗位薪资可视化分析

数据集介绍


本数据集来源于kaggle,原始数据集共有3755条, 11列特征,各特征具体含义如下:


work_year:发工资的年份。

experience_level:该职位在一年内的经验水平

employment_type:角色的雇佣类型

job_title:这一年中工作的角色

工资:支付的工资总额

salary_currency:作为ISO 4217货币代码支付的工资的货币

salaryinusd:以美元计算的工资

employee_residence:作为ISO 3166国家代码,雇员在工作年度的主要居住国家

remote_ratio:远程完成的总工作量

company_location:雇主的主要办事处或承包分公司所在的国家

company_size:该年度为该公司工作的人数中位数


可视化分析


首先导入本次可视化用到的第三方库,并使用pandas导入数据集

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
import seaborn as sns
import country_converter as coco
import warnings
warnings.filterwarnings('ignore')
sns.set_theme()
sns.set(rc = {"figure.figsize":(8,6)})
df = pd.read_csv('ds_salaries.csv')
df.head()



1.分析2023年排名前十的岗位

# Top 10 Job Titles in 2023
jobs = df[df['work_year']==2023]['job_title'].value_counts().nlargest(10).reset_index()
fig, ax = plt.subplots()
ax = sns.barplot(ax = ax, data = jobs , y = jobs['index'], x = jobs.job_title)
ax.set(ylabel='Job Titles',xlabel='Counts', title='Top 10 Job Titles in 2023')
ax.bar_label(ax.containers[0], padding = 2)
plt.show()



正如您所看到的,数据工程师最多,其次是数据科学家和数据分析师


2.分析工作经验水平情况

# Experience Levels
df['experience_level'] = df['experience_level'].replace('EN','Entry-level/Junior')
df['experience_level'] = df['experience_level'].replace('MI','Mid-level/Intermediate')
df['experience_level'] = df['experience_level'].replace('SE','Senior-level/Expert')
df['experience_level'] = df['experience_level'].replace('EX','Executive-level/Director')
fig, ax = plt.subplots()
sns.countplot(ax = ax, data = df, x = df.experience_level)
ax.set(xlabel='', ylabel='Counts', title='Experience Levels')
ax.bar_label(ax.containers[0])
plt.show()


正如您所看到的,高级职位的计数最高,其次是中级和初级职位。与其他级别的职位相比,总监级别的职位更少。


3.分析雇佣类型情况

# Employment Types
df['employment_type'] = df['employment_type'].replace('FT','Full-Time')
df['employment_type'] = df['employment_type'].replace('PT','Part-Time')
df['employment_type'] = df['employment_type'].replace('CT','Contract')
df['employment_type'] = df['employment_type'].replace('FL','Freelance')
fig, ax = plt.subplots()
sns.countplot(ax = ax, data = df, x = df.employment_type, hue = 'experience_level')
ax.set(xlabel='', ylabel='Counts', title='Number of Employment Types')
ax.bar_label(ax.containers[0])
ax.bar_label(ax.containers[1])
ax.bar_label(ax.containers[2])
ax.bar_label(ax.containers[3])
plt.show()


正如你所看到的,这里有相当多的人是全职工作。在全职员工中,大多数是高级员工。我们观察到自由职业现在不那么流行了。


4.分析薪资最高的岗位

# Salaries by Job Titles
job_title_salary = df['salary_in_usd'].groupby(df['job_title']).mean().round(0).nlargest(15).sort_values(ascending = False).reset_index()
fig, ax = plt.subplots()
ax = sns.barplot(ax = ax, data = job_title_salary , y = job_title_salary.job_title, x = job_title_salary.salary_in_usd)
ax.set(ylabel='Job titles',xlabel='Salary in usd', title='Top 15 Average Salaries by Job Titles')
ax.bar_label(ax.containers[0], padding = 2)
plt.show()


正如我们所料,一般在行政级别工作的人的平均工资要高一些。由于云计算的趋势,云数据架构师是收入第二高的职业。


5.分析薪资最高的雇佣类型

# Salaries by Employment Types
avg_salaries = df.groupby('employment_type')['salary_in_usd'].mean().round(0).sort_values(ascending = False).reset_index()
fig, ax = plt.subplots()
sns.barplot(ax =ax,data = df , x = 'employment_type', y = 'salary_in_usd',errorbar = None, hue = 'work_year')
ax.set(xlabel='', ylabel='Dollars', title='Average Salaries in Dollars Per Year')
ax.bar_label(ax.containers[3], padding = 2)
plt.show()


正如你所看到的,全职员工的平均工资多年来一直在增长。这表明公司关心数据科学。第二高的薪水属于自由职业者,这清楚地表明了自由职业者的增长趋势。


6.分析平均薪资最高的年份

# Salaries by Work Years
year_based_salary=df['salary_in_usd'].groupby(df['work_year']).mean()
plt.title("Average Salaries based on Work Year")
plt.xlabel('Work Year')
plt.ylabel('Salary')
sns.lineplot(x=['2020', '2021', '2022','2023'],y=year_based_salary)
plt.show()


正如你所看到的,数据驱动型工作的平均工资每年都在增长,在2021年到2022年之间的增幅尤其显著。这一趋势凸显了对该领域熟练专业人员的需求日益增长。


7.绘制公司分布热力地图

# Remote Jobs Locations
rr = df.groupby('company_location')['remote_ratio'].mean().reset_index()
rr['company_location'] =  coco.convert(names = rr['company_location'], to = "ISO3")
fig = px.choropleth(rr,
                    locations = rr.company_location, 
                    color = rr.remote_ratio,                  
                    labels={'company_location':'Country','remote_ratio':'Remote Jobs Ratio'})
fig.update_layout(title = "Remote Jobs Locations")
fig.show()
目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
65 2
|
28天前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
2月前
|
数据挖掘 UED
ChatGPT数据分析——探索性分析
ChatGPT数据分析——探索性分析
54 1
|
2月前
|
数据可视化 数据挖掘 数据处理
ChatGPT数据分析应用——热力图分析
ChatGPT数据分析应用——热力图分析
116 1
|
2月前
|
数据挖掘
ChatGPT在常用的数据分析方法中的应用(分组分析)
ChatGPT在常用的数据分析方法中的应用(分组分析)
72 1
|
2月前
|
数据挖掘 数据处理
ChatGPT在常用的数据分析方法中的应用(交叉分析)
ChatGPT在常用的数据分析方法中的应用(交叉分析)
51 1
|
2月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
331 0
|
2月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
142 0
下一篇
DataWorks