拉勾网招聘信息分析 数据分析案例-拉勾网招聘信息

数据分析案例-拉勾网招聘信息

 

1、导入模块配置中文

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
# 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

2、从csv中读取爬取得数据

采集代码:https://github.com/song-zhixue/lagou

data = pd.read_csv("./lagou_data.csv",sep = ',',encoding = 'gbk')
data.head()

3、进行数据清洗

这里我只做了简单得清洗就是去掉空值

1
2
3
4
5
6
7
8
-  去重
-  去空
    -  1 删除
    -  2 替换
    -  3 填充
-  去异常
    -  1 非法数据  比如本来应该是数字列的中间夹杂着一些汉字或者是符号
    -  2 异常数据  异乎寻常的大数值或者是小数值
复制代码
data.isnull()
data.isnull().any() # 按照列统计空值,查看哪一列有空值
城市        False
公司全称      False
企业编码      False
公司简介      False
公司logo    False
公司规模      False
发布时间      False
区域         True
学历        False
融资情况      False
类型        False
工作性质      False
经度         True
纬度         True
地铁         True
福利        False
职位名称      False
薪资        False
工作年限      False
岗位        False
dtype: bool
复制代码
data = data.dropna()  # 默认会删除包含缺失值的行
data

4、根据城市招聘情况绘制饼图TOP10

复制代码
data["城市"].value_counts()

北京     258
上海     149
深圳     136
广州      54
成都      48
杭州      31
武汉      22
南京      12
重庆       7
苏州       5
天津       4
石家庄      3
长沙       3
厦门       3
西安       2
郑州       2
青岛       2
大连       2
佛山       2
长春       1
贵阳       1
Name: 城市, dtype: int64
复制代码
ret = data["城市"].value_counts().head(10).plot(kind='pie',autopct='%1.2f%%',figsize=(10,8))  # 取前10个结果进行绘图
ret
plt.show

5、根据学历绘制柱状图

复制代码
data["学历"].value_counts()

本科    613
大专     73
不限     50
硕士     11
Name: 学历, dtype: int64

data["学历"].value_counts().plot(kind='bar')
plt.xticks(rotation=0)
复制代码

6、根据工作经验绘制条形图

复制代码
data["工作年限"].value_counts()

3-5年     317
1-3年     193
5-10年     90
不限        79
应届毕业生     62
1年以下       5
10年以上      1
Name: 工作年限, dtype: int64

data["工作年限"].value_counts().plot(kind='barh',color="orange")
复制代码

 7、根据公司规模绘制饼图和条形图

复制代码
data["公司规模"].value_counts()

150-500人     190
50-150人      181
15-50人       130
2000人以上      112
500-2000人    100
少于15人         34
Name: 公司规模, dtype: int64

data["公司规模"].value_counts().plot(kind='pie',autopct='%1.2f%%')
复制代码

data["公司规模"].value_counts().plot(kind='barh',color="red")

 8、根据融资情况绘制条形图

复制代码
data["融资情况"].value_counts()

不需要融资    187
A轮       118
B轮       114
上市公司      96
未融资       88
天使轮       55
C轮        54
D轮及以上     35
Name: 融资情况, dtype: int64

data["融资情况"].value_counts().plot(kind='bar')
plt.xticks(rotation=45)
复制代码

9、根据福利待遇绘制词云

复制代码
# 利用结巴进行分词
import jieba    
# 绘制词云
import wordcloud
# 自定义词云背景
from PIL import Image

data["福利"]
all_str = ''
for i in data["福利"]:
    all_str += i
# 利用jieba进行分词
lis = jieba.lcut(all_str)

txt = " ".join(lis)
# mask = np.array(Image.open("./词云.jpg"))  # 自定义背景图
w = wordcloud.WordCloud(
    font_path="msyh.ttc", 
    width=400, 
    height=400, 
    background_color="white",
#     colormap="Reds",
#     mask=mask,
#     contour_width=1,
#     contour_color="red"
)
w.generate(txt)
w.recolor()  # 随机词云中的字体颜色
# w.to_file("福利.png") # 将词云保存在本地
w.to_image()   # 查看生成的词云
复制代码

10、地图可视化

利用地图无忧进行地图可视化:https://www.dituwuyou.com/

data[["经度","纬度"]]   # 取经度和纬度这两列数据

data[["经度","纬度"]].to_csv("./地图经纬度.csv",encoding="gbk")   # 导出csv用地图无忧绘制地图

导出到csv样式

1
2
3
-  https: / / www.dituwuyou.com / orgs / 321267 / maps
-  账号:xxxxxx
-  密码:xxxxxx

1、导入模块配置中文

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
# 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

2、从csv中读取爬取得数据

采集代码:https://github.com/song-zhixue/lagou

data = pd.read_csv("./lagou_data.csv",sep = ',',encoding = 'gbk')
data.head()

3、进行数据清洗

这里我只做了简单得清洗就是去掉空值

1
2
3
4
5
6
7
8
-  去重
-  去空
    -  1 删除
    -  2 替换
    -  3 填充
-  去异常
    -  1 非法数据  比如本来应该是数字列的中间夹杂着一些汉字或者是符号
    -  2 异常数据  异乎寻常的大数值或者是小数值
复制代码
data.isnull()
data.isnull().any() # 按照列统计空值,查看哪一列有空值
城市        False
公司全称      False
企业编码      False
公司简介      False
公司logo    False
公司规模      False
发布时间      False
区域         True
学历        False
融资情况      False
类型        False
工作性质      False
经度         True
纬度         True
地铁         True
福利        False
职位名称      False
薪资        False
工作年限      False
岗位        False
dtype: bool
复制代码
data = data.dropna()  # 默认会删除包含缺失值的行
data

4、根据城市招聘情况绘制饼图TOP10

复制代码
data["城市"].value_counts()

北京     258
上海     149
深圳     136
广州      54
成都      48
杭州      31
武汉      22
南京      12
重庆       7
苏州       5
天津       4
石家庄      3
长沙       3
厦门       3
西安       2
郑州       2
青岛       2
大连       2
佛山       2
长春       1
贵阳       1
Name: 城市, dtype: int64
复制代码
ret = data["城市"].value_counts().head(10).plot(kind='pie',autopct='%1.2f%%',figsize=(10,8))  # 取前10个结果进行绘图
ret
plt.show

5、根据学历绘制柱状图

复制代码
data["学历"].value_counts()

本科    613
大专     73
不限     50
硕士     11
Name: 学历, dtype: int64

data["学历"].value_counts().plot(kind='bar')
plt.xticks(rotation=0)
复制代码

6、根据工作经验绘制条形图

复制代码
data["工作年限"].value_counts()

3-5年     317
1-3年     193
5-10年     90
不限        79
应届毕业生     62
1年以下       5
10年以上      1
Name: 工作年限, dtype: int64

data["工作年限"].value_counts().plot(kind='barh',color="orange")
复制代码

 7、根据公司规模绘制饼图和条形图

复制代码
data["公司规模"].value_counts()

150-500人     190
50-150人      181
15-50人       130
2000人以上      112
500-2000人    100
少于15人         34
Name: 公司规模, dtype: int64

data["公司规模"].value_counts().plot(kind='pie',autopct='%1.2f%%')
复制代码

data["公司规模"].value_counts().plot(kind='barh',color="red")

 8、根据融资情况绘制条形图

复制代码
data["融资情况"].value_counts()

不需要融资    187
A轮       118
B轮       114
上市公司      96
未融资       88
天使轮       55
C轮        54
D轮及以上     35
Name: 融资情况, dtype: int64

data["融资情况"].value_counts().plot(kind='bar')
plt.xticks(rotation=45)
复制代码

9、根据福利待遇绘制词云

复制代码
# 利用结巴进行分词
import jieba    
# 绘制词云
import wordcloud
# 自定义词云背景
from PIL import Image

data["福利"]
all_str = ''
for i in data["福利"]:
    all_str += i
# 利用jieba进行分词
lis = jieba.lcut(all_str)

txt = " ".join(lis)
# mask = np.array(Image.open("./词云.jpg"))  # 自定义背景图
w = wordcloud.WordCloud(
    font_path="msyh.ttc", 
    width=400, 
    height=400, 
    background_color="white",
#     colormap="Reds",
#     mask=mask,
#     contour_width=1,
#     contour_color="red"
)
w.generate(txt)
w.recolor()  # 随机词云中的字体颜色
# w.to_file("福利.png") # 将词云保存在本地
w.to_image()   # 查看生成的词云
复制代码

10、地图可视化

利用地图无忧进行地图可视化:https://www.dituwuyou.com/

data[["经度","纬度"]]   # 取经度和纬度这两列数据

data[["经度","纬度"]].to_csv("./地图经纬度.csv",encoding="gbk")   # 导出csv用地图无忧绘制地图

导出到csv样式

1
2
3
-  https: / / www.dituwuyou.com / orgs / 321267 / maps
-  账号:xxxxxx
-  密码:xxxxxx

猜你喜欢

转载自www.cnblogs.com/youxiu123/p/11624539.html