拉钩网 数据分析与可视化

前端时间爬取了拉钩网的某一职位的相关信息,于是就有了分析一下这些数据的想法,爬取的方式可以看我的另一篇博客,

我的数据一被处理成了csv格式的数据,存储在云盘(https://pan.baidu.com/s/1-Iq9fcpJctvL4oe4JZ2HWg)有需要的可自行下载,代码也在里面了,

csv文件的数据主要是以下的这些

在csv中存储的格式为

拉钩网 数据分析与可视化_第1张图片

第一列为职位名称,第二,三列为薪水的范围,第四列为工作城市,第五、六列为工作经验年限,第七列为最低学历,第八列为全职或是实习

首先通过pandas加载数据,将数据读入内存

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import re

path = r'C:\Users\cy\Desktop\lagou'
filePath = path+r'\info.csv'
column = ['jobName','lowSalary','highSalary','city','lowYear','highYear','education','workTime']
df = pd.read_csv(filePath,names = column)

先观察不同城市的岗位需求数量

count_by_city = df['city'].value_counts()  #对城市对应的职位数量进行统计
X = count_by_city.index  #获取对应的城市
Y = list(count_by_city)  #获取对应城市的职位
plt.rcParams['font.sans-serif'] = ['SimHei']  #设置可现实中文
for x,y in zip(X,Y):
    plt.text(x, y+0.05, '%d' % y, ha='center', va= 'bottom')  #绘制条形图上的数字
plt.bar(X,Y)  #绘制图形
plt.savefig(path+r'\jobNum.png') #存储图片
plt.show()  #显示图片

拉钩网 数据分析与可视化_第2张图片

可是很清晰的看到背景的职位数量遥遥领先,我们熟知的北上广深稳做前五,而杭州也拿到了第四的位置,将他转化为饼图看看,

count_by_city = df['city'].value_counts() #对城市对应的职位数量进行统计
X = list(count_by_city.index) #获取对应的城市
Y = list(count_by_city)  #获取对应城市的职位
sum = count_by_city.sum()  #获取职位总数
add = 0 
n = 0  #移除的城市数量
print(len(X),len(Y))
for i in range(len(Y)):
    if (Y[i-n]<5):
        print(X[i-n],Y[i-n])
        add += Y[i-n]
        X.remove(X[i - n])
        Y.remove(Y[i-n])
        n += 1
X.append('其他')
Y.append(add)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.pie(Y/sum,labels=X,autopct='%1.1f')
plt.axis('equal')
plt.savefig(path+r'\jobNumPie.png')
plt.show()

拉钩网 数据分析与可视化_第3张图片

这里可以更清晰的看到北京吸引力一半多的人才,由于后面的城市人数很少,在饼图中文字显示会重叠,所以这里合成了一个其他,再来看看不同城市的薪水情况

city = df.groupby('city')  #按城市进行分组
group = city.groups  #获取城市的分组
salary = []
city_list = []
for key in group:  #取不同城市的最高薪水的均值和最低薪水的均值的和除以二代表其薪水水平
    city_list.append(key)
    salary.append((city.get_group(key)['lowSalary'].mean()+city.get_group(key)['lowSalary'].mean())/2)

print(salary)
plt.rcParams['font.sans-serif'] = ['SimHei']
for x,y in zip(city_list,salary):
    plt.text(x, y+0.05, '%d' % y, ha='center', va= 'bottom')
plt.bar(city_list,salary)
plt.savefig(path+r'\citySalary.png')
plt.show()

拉钩网 数据分析与可视化_第4张图片

可以看到北京依旧是遥遥领先,上深杭则并列第二,而天津和无锡由于数据量单薄,而且还是实习生,所以垫底了,东莞则是招收的是大专学历起步,所以工资 也不高

再看看工作经验对工资的影响,代码就不贴了,都差不多,改改参数就好了

拉钩网 数据分析与可视化_第5张图片

这里去的工作经验是职位信息提供的最高和最低的均值,而零则代表无工作经验或工作经验不限,可以很明显的看到工资随时间的增长在增加,但增长的幅度貌似不怎么大

接下来在看看学历对工资的影响,

拉钩网 数据分析与可视化_第6张图片

本科生和硕士的差别为1k元,而本科生和大专生则达到了10k,可见高考对人生的影响还是相当重要的。

以上就是我对这些数据的简单分析,如果有什么错误的话,欢迎大家指正。

你可能感兴趣的:(python)