欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

拉勾网数据分析师利用python分析

程序员文章站 2022-05-01 22:33:39
...

目的:数据分析师是一个什么样的岗位?它的工资和薪酬是多少?哪类公司更会招聘数据分析师?

主要内容包括数据读取,数据概述,数据清洗和整理,分析和可视化

首先载入数据,此数据是18年3月份在拉勾网上爬取的有关数据分析师的职位信息

import numpy as np
import pandas as pd
data = pd.read_csv(r'D:\Users\Desktop\jobdata.csv')
data

拉勾网数据分析师利用python分析


因有些信息此次分析并不会用到,只选取需要的信息,进行后续分析

data = data[['city','positionName','companyShortName','workYear','education','companyLabelList','companySize','financeStage','industryField','salary','positionAdvantage','firstType','secondType']]
data

进行去重:drop_duplicates函数通过subset参数选择根据positionName和companyShortName 这两列为基准去重,keep参数则是保留方式,first是保留第一个,删除后余重复值。通过结果发现公司和职位重复的数量有将近1000个

data = data.drop_duplicates(subset = ['positionName','companyShortName'],keep = 'first')
data
拉勾网数据分析师利用python分析


对数据进行快速的浏览,列举出了数据集拥有的各类字段,去重后一共有3575个,其中companyLabelList存在为空的情况,但不影响后续分析

data.info()

拉勾网数据分析师利用python分析

接下来对salary薪资字段进行处理,计算出薪资下限以及薪资上限,来求平均值,虽然平均值并不能代表现实的薪资情况,但在一定程度上可作为参考

def get_bottom(salary):
    position = salary.find('-')
    bottomsalary = salary[:position-1]
    return bottomsalary
def get_top(salary):
    position = salary.find('-')
    length = len(salary)
    topsalary = salary[position+1:length-1]
    return topsalary
data['bottomsalary'] = data.salary.apply(get_bottom)
data['bottomsalary'].astype('int')
将bottomSalary转换为数字,可以看到薪资下限被截取出来了, 薪资上限同理
data['topsalary'] = data.salary.apply(get_top)
data['topsalary'].astype('int')
通过最高和最低工资求取平均工资
data.bottomsalary = data['bottomsalary'].astype('int')
data.topsalary = data['topsalary'].astype('int')
data['avgsalary'] = data.apply(lambda x:(x.bottomsalary + x.topsalary)/2, axis =1) 
data.avgsalary.describe()
拉勾网数据分析师利用python分析

数据分析师的薪资的平均数是18.5k,中位数是17.5k,两者相差不大,最大薪资在90k是数据科学家或者大数据总监级别的,最小薪资只有1.5k是实习生或者兼职岗位,标准差在9.6k,有一定的波动性,大部分数据分析师薪资在18.5±9.6k之间。

data.city.value_counts()
拉勾网数据分析师利用python分析
data.groupby('city').avgsalary.mean().sort_values(ascending = False) 
拉勾网数据分析师利用python分析
以上可以看到北京的数据分析师类需求远远高于其他城市,只比上海,深圳,杭州和广州的需求总和低一点,北京的平均工资也高于其他城市;作为新一线城市的杭州对数据分析师需求高于一线城市广州,平均薪资也高于上海、深圳,看来在杭州找数据分析师的工作也是个不错的选择,哈哈

进行简单的可视化
import matplotlib.pyplot as plt
%matplotlib inline
data.avgsalary.plot.hist(bins=20)
拉勾网数据分析师利用python分析

数据分布同时呈现双峰和右偏型的分布,双峰型可能是因为混合了一二三线城市的数据,而右偏型是因为不可能所有的数据分析师都可以拿高工资

data1= data.pivot_table(values= 'avgsalary',index= 'education',columns='city')
data1.unstack()

得到各城市对不同学历的数据分析师的平均薪资

拉勾网数据分析师利用python分析
data.groupby(['city','companyShortName']).avgsalary.agg(['count','mean']).sort_values(by = 'count',ascending = False)
招聘数量最多的公司分别位于哪些城市的哪些公司
拉勾网数据分析师利用python分析

def top_n(data,n = 5):
    counts = data.value_counts()
    return counts.sort_values(ascending = False)[:n]
data.groupby('city').companyShortName.apply(top_n)
不同城市,招聘数据分析师需求前5的公司
拉勾网数据分析师利用python分析

data.groupby('city').positionName.apply(top_n)

不同城市,数据分析类职位招聘数前5的

拉勾网数据分析师利用python分析
暂时就先写这么多了

相关标签: 数据分析