拉钩网 数据分析与可视化

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

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

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

在csv中存储的格式为


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

首先通过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()  #显示图片

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

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()

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

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()

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

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

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

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

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

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

### 回答1: Python是络爬虫和数据分析的很好的工具,可以用它来获取招聘站上的数据并进行分析。以下是一些步骤: 1. 选择要抓取的站:可以选择一些知名的招聘站,如智联招聘、拉钩、前程无忧等。 2. 使用Python的爬虫库,如requests、beautifulsoup4或Scrapy等,编写代码抓取站上的数据。可以使用多线程或异步编程以提高效率。 3. 对抓取到的数据进行清洗和处理,去除不需要的信息,如广告、重复信息等。 4. 将处理后的数据存储到数据库或文件中,如MySQL、MongoDB、CSV等。 5. 使用Python的数据分析库,如pandas、numpy、matplotlib等,对数据进行分析和可视化。 6. 根据数据分析结果,可以得出一些有价值的结论,并对招聘站的数据进行优化或改进。 需要注意的是,在进行爬虫和数据分析时,需要遵守相关法律法规和站的规定,不得进行非法爬取和滥用数据的行为。 ### 回答2: Python基于络爬虫的招聘数据分析是指利用Python编程语言和络爬虫技术,从各个招聘站中获取数据,并通过数据分析的方法,对这些招聘数据进行整理、统计和分析的过程。 首先,利用Python编写络爬虫程序,通过请求URL、解析HTML页、提取有用的信息等技术,爬取招聘站上的职位信息、公司信息、薪资待遇、要求等数据。例如可以使用Python的第三方库,如BeautifulSoup或Scrapy来进行数据爬取。 然后,对获取到的数据进行整理和清洗。使用Python的数据处理和清洗库,如Pandas,可以对数据进行格式化、筛选、去除重复等操作,确保数据的准确性和一致性。 接下来,通过数据分析的方法对招聘数据进行统计和分析。利用Python的数据分析库,如NumPy和Matplotlib,可以对数据进行数据汇总、统计指标分析、可视化等操作。例如可以进行职位热门度排行、不同岗位的薪资分布、不同地区的招聘需求等分析。 最后,根据数据分析的结果,可以对招聘站的招聘市场进行深入了解。基于这些数据分析结果,企业可以制定更加合理的招聘策略和薪资待遇,求职者可以了解到市场需求和薪资水平,从而选择更加合适的职位和公司。 总之,Python基于络爬虫的招聘数据分析可以帮助企业和求职者更好地了解招聘市场,做出更加明智的决策。同时,Python作为一种简洁而强大的编程语言,具备丰富的数据处理和分析库,非常适合进行大数据量的招聘数据分析。 ### 回答3: 招聘数据分析是指通过爬取招聘站的数据,并利用Python进行处理和分析,从而获得有价值的招聘信息以及相关统计数据。 首先,我们可以使用Python中的络爬虫工具,如BeautifulSoup或Scrapy等,来爬取招聘站上的数据。通过分析页结构、标签等信息,我们可以定位到招聘信息所在的位置,并将其提取出来,包括职位名称、公司名称、工作地点、薪资等关键信息。 接下来,我们可以使用Python中的数据处理和分析库,如pandas和numpy等,对爬取到的数据进行处理和清洗。我们可以去除重复的数据,处理缺失值,转换数据类型等操作,以确保数据的质量和准确性。 一旦数据清洗完成,我们可以利用Python中的数据可视化库,如matplotlib和seaborn等,对数据进行可视化分析。通过绘制柱状图、折线图、饼图等,我们可以直观地了解招聘市场的热门职位、薪资分布、工作地点分布等趋势和规律。 此外,我们还可以利用Python中的机器学习库,如scikit-learn和tensorflow等,对招聘数据进行进一步的分析和预测。通过构建模型,我们可以预测某个职位的薪资范围、预测某个地区的就业需求等,为求职者和招聘者提供决策支持。 总之,利用Python基于络爬虫的招聘数据分析,可以帮助我们深入了解招聘市场的动态,提供有价值的信息和统计数据,帮助求职者和招聘者做出更准确和明智的决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值