什么你还不知道招聘信息,小唐来教你——最新2021取拉勾网招聘信息(二)

简介: 什么你还不知道招聘信息,小唐来教你——最新2021爬取拉勾网招聘信息(二)

前言

既然我们上面已经爬取到我们的数据了,这下怎么说都要对他经行一个数据分析和词云制作了吧,在这里小唐主要是就他的数据清洗和词云制作来说一下

一、准备我们的库

import pandas as pd
import re
import seaborn as sns
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import cv2
#这里是为了让我们的中文可以显示出来
font = r'C:\Windows\Fonts\simfang.ttf'
plt.rcParams['font.sans-serif'] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

二、数据清洗

由于我们工资都是给定一个范围,所以说,我们要对他求一个平均值,在这里我们用正则表达式来识别

def ciyun():
    df = pd.read_excel('工程师.xls')#这个就是我们要分析的表
    for i in range(df.shape[0]):
        gz = df.loc[i, '工资']#选择工资那一列
        if re.search(r'.*k-.*k', gz):
            a = eval(re.search('(.*)k-(.*)k', gz).group(1)) * 1000
            b = eval(re.search('(.*)k-(.*)k', gz).group(2)) * 1000
            num = (a + b) / 2#求平均值
        try:
            df.loc[i, '工资'] = int(num)/1000
        except:
            print("跳过")
            df.loc[i, '工资'] =0
    visualization(df)#将我们洗好的数据传到我们下一个制作图表里面

三、核密度图及词云制作

def visualization(df):
    salarys=df['工资']
    for i in salarys:
        print(i)
    mean = round(salarys.mean(), 1)#求我们的平均值
    plt.figure(figsize=(8, 6), dpi=200)#确定下来我们的行列数
    sns.distplot(salarys, hist=True, kde=True, kde_kws={"color": "r", "linewidth": 1.5, 'linestyle': '-'})#画核密度图
    plt.axvline(mean, color='r', linestyle=":")#在中间值那里画一条红线
    plt.text(mean, 0.05, '平均月薪: %.1f千' % (mean), color='k', horizontalalignment='center', fontsize=15)#在红线中间输出中间值是多少
    plt.xlim(0, 35)
    plt.xlabel('月薪(单位:千)')
    plt.title('工程师行业的薪资分布')
    plt.show()
    a = df['需求']#这里可以更改,可以显示地区呀,需求呀的词云
    text = []
    n = 0
    #统计词频
    for i in a:
        text.append(i)
        n += 1
    text = ",".join(str(i) for i in text)
    mask = cv2.imread(r'D:\data\timg.jpg')#这个是我们的要他形成的一个形状,没有的话可以删掉这一行,记得后面的mask也要删掉喔
    wordcloud = WordCloud(font_path=font, background_color="white", mask=mask).generate(text)
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()

四、完整代码

import pandas as pd
import re
import seaborn as sns
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import cv2
font = r'C:\Windows\Fonts\simfang.ttf'
plt.rcParams['font.sans-serif'] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
def ciyun():
    df = pd.read_excel('工程师.xls')
    for i in range(df.shape[0]):
        gz = df.loc[i, '工资']
        if re.search(r'.*k-.*k', gz):
            a = eval(re.search('(.*)k-(.*)k', gz).group(1)) * 1000
            b = eval(re.search('(.*)k-(.*)k', gz).group(2)) * 1000
            num = (a + b) / 2
        try:
            df.loc[i, '工资'] = int(num)/1000
        except:
            print("跳过")
            df.loc[i, '工资'] =0
    visualization(df)
def visualization(df):
    salarys=df['工资']
    for i in salarys:
        print(i)
    mean = round(salarys.mean(), 1)
    plt.figure(figsize=(8, 6), dpi=200)
    sns.distplot(salarys, hist=True, kde=True, kde_kws={"color": "r", "linewidth": 1.5, 'linestyle': '-'})
    plt.axvline(mean, color='r', linestyle=":")
    plt.text(mean, 0.05, '平均月薪: %.1f千' % (mean), color='k', horizontalalignment='center', fontsize=15)
    plt.xlim(0, 35)
    plt.xlabel('月薪(单位:千)')
    plt.title('工程师行业的薪资分布')
    plt.show()
    a = df['需求']
    text = []
    n = 0
    for i in a:
        text.append(i)
        n += 1
    text = ",".join(str(i) for i in text)
    wordcloud = WordCloud(font_path=font, background_color="white").generate(text)
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()
ciyun()

五、扩展

什么!居然还可以扩展!咱就是说小唐去做了一个界面,有需要的可以直接私信小唐,然后发你源码喔!


相关文章
|
1月前
|
JSON 移动开发 JavaScript
什么你还不知道招聘信息,小唐来教你——最新2021爬取拉勾网招聘信息(一)
什么你还不知道招聘信息,小唐来教你——最新2021爬取拉勾网招聘信息(一)
|
1月前
|
机器学习/深度学习 算法 数据可视化
实习僧网站的实习岗位信息分析(上)
实习僧网站的实习岗位信息分析
23 2
实习僧网站的实习岗位信息分析(上)
|
4天前
|
前端开发 Java 关系型数据库
杨校老师项目之基于SSM社区疫情防控人员访客登记报备平台
杨校老师项目之基于SSM社区疫情防控人员访客登记报备平台
9 0
|
1月前
|
机器学习/深度学习 算法 数据挖掘
实习僧网站的实习岗位信息分析(下)
实习僧网站的实习岗位信息分析(下)
23 2
|
1月前
|
机器学习/深度学习 算法 数据挖掘
实习僧网站的实习岗位信息分析(中)
实习僧网站的实习岗位信息分析
23 1
|
1月前
|
运维 算法 程序员
程序员去国企:长城资产IT岗位秋招面试记录
【2月更文挑战第7天】本文介绍2024届秋招中,中国长城资产管理股份有限公司的信息技术岗岗位一面的面试基本情况、提问问题等~
|
7月前
|
算法
压缩算法 【腾讯2020校园招聘-后台&综合-第一次笔试 】
压缩算法 【腾讯2020校园招聘-后台&综合-第一次笔试 】
46 0
|
数据安全/隐私保护
求职招聘系统
求职招聘系统
|
存储 数据采集 Web App开发
Python爬虫系列2-采集2022年拉钩网最新的IT岗位招聘数据
2022年转眼已过半,再过半年即将迎来2023年,我坚信疫情早晚会过去,2023年相信会是一个互联网全新的时代:物联网时代,古语云:十年磨一剑,古时候烽火传递、飞鸽传书,交流信息很不方便。古人就幻想着有千里眼和顺风耳。能看到千里之外的地方和听到很远地方的声音。从2000年至2010年这十年,古人的愿望变成了现实;我们见证了全智能手机的发展历程;以及2010年至2020年的移动互联网从早期的2G网络过渡至3G到现在的4G网络甚至到目前已经慢慢普及但尚未成熟的5G网络的发展历程;我们也坚信未来的万物互联距离现如今的我们也并不是一件很遥远的事情。 如果本文对你有些帮助-还请点赞👍关注!
Python爬虫系列2-采集2022年拉钩网最新的IT岗位招聘数据
|
算法 Java 大数据
【招聘信息】
神州优车集团平台团队常年招人,欢迎投递简历: 投递邮箱:he.ai@ucarinc.com QQ联系: 1741919901 各种岗位,Java高级/架构, 前端高级/架构。
907 0