基于Python的一次职位招聘数据分析
配套资源下载
1 Python数据分析常用的库和库函数
常用库
- pandas
- numpy
- matplotlib
(ps:以下函数只是给出了函数名,函数参数还有很多灵活的选择,详情见PandasAPI介绍)
读取文件
- pandas.read_csv() #从csv文件读取数据
- pandas.read_xls() #从xls文件读取数据
查看数据特征,pandas
- pandas.describe()
- pandas.info()
- pandas.shape #数据形状,一般是二维(3,4)表示3行4列
数据去重,判断为空
- drop_duplicates() #删除重复值
- dropna() #删除空值
数据处理
- str # 字符化 eg:data[‘岗位名’] = data[‘岗位名’].str.strip().apply(lambda x: x.lower())
- value_counts() # 某列下不同的值计数
画图
- plt.rcParams[‘font.sans-serif’] = ‘SimHei’ #避免中文乱码
2 一次完整的数据分析过程
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import re
# header = None 首行为数据
# encoding = GBK 源文件编码为GBk
# index_col=0 数据第0列作为索引
data = pd.read_csv('job_info.csv',encoding='GBK',header=None,index_col=0)
data.head()
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
---|---|---|---|---|---|---|---|---|---|
0 | |||||||||
0 | 字节跳动 | \r\n 数据产品经理 | 北京 | 2-3.5万/月 | 09-03 | [] | ['民营公司'] | ['10000人以上'] | ['互联网/电子商务,计算机软件'] |
1 | 甲骨文(中国)软件系统有限公司 | \r\n 数据库管理员 | 长沙 | NaN | 09-03 | ['Oracle Advanced Customer Service', 'RESPONSI... | ['外资(欧美)'] | ['500-1000人'] | ['计算机软件'] |
2 | 莱茵技术(上海)有限公司 TUV Rhei... | \r\n 莱茵学院与生命关怀部数据安全/IT安全的业务... | 上海-静安区 | NaN | 09-03 | [] | [] | [] | [] |
3 | 百度在线网络技术(北京)有限公司... | \r\n 商业分析规划部_资深数据分析师 ... | 北京 | 2-4万/月 | 09-03 | ['-通过对数据的敏锐洞察以及定性和定量分析,迅速定位内部问题或发现机会', '-负责大商业... | ['外资(欧美)'] | ['500-1000人'] | ['互联网/电子商务'] |
4 | 携程旅行网业务区 | \r\n 数据分析经理(J18545) ... | 上海-长宁区 | 1.5-2万/月 | 09-03 | ['工作职责:', '1、对数据进行筛选和整理,提高项目数据分析效率;', '2、负责预订中... | ['民营公司'] | ['10000人以上'] | ['酒店/旅游,互联网/电子商务'] |
# 为数据设置列名,并查看前5行
data.columns = ['公司名','岗位名','工作地点','工资','发布日期','工作描述','公司类型','公司规模','行业',]
data.head()
公司名 | 岗位名 | 工作地点 | 工资 | 发布日期 | 工作描述 | 公司类型 | 公司规模 | 行业 | |
---|---|---|---|---|---|---|---|---|---|
0 | |||||||||
0 | 字节跳动 | \r\n 数据产品经理 | 北京 | 2-3.5万/月 | 09-03 | [] | ['民营公司'] | ['10000人以上'] | ['互联网/电子商务,计算机软件'] |
1 | 甲骨文(中国)软件系统有限公司 | \r\n 数据库管理员 | 长沙 | NaN | 09-03 | ['Oracle Advanced Customer Service', 'RESPONSI... | ['外资(欧美)'] | ['500-1000人'] | ['计算机软件'] |
2 | 莱茵技术(上海)有限公司 TUV Rhei... | \r\n 莱茵学院与生命关怀部数据安全/IT安全的业务... | 上海-静安区 | NaN | 09-03 | [] | [] | [] | [] |
3 | 百度在线网络技术(北京)有限公司... | \r\n 商业分析规划部_资深数据分析师 ... | 北京 | 2-4万/月 | 09-03 | ['-通过对数据的敏锐洞察以及定性和定量分析,迅速定位内部问题或发现机会', '-负责大商业... | ['外资(欧美)'] | ['500-1000人'] | ['互联网/电子商务'] |
4 | 携程旅行网业务区 | \r\n 数据分析经理(J18545) ... | 上海-长宁区 | 1.5-2万/月 | 09-03 | ['工作职责:', '1、对数据进行筛选和整理,提高项目数据分析效率;', '2、负责预订中... | ['民营公司'] | ['10000人以上'] | ['酒店/旅游,互联网/电子商务'] |
# 查看数据数量,共67085行,9个属性列
data.shape
(67085, 9)
# 数据去重,以公司名和岗位名为主键
data.drop_duplicates(subset=['公司名','岗位名'] ,inplace=True)
data.shape
(42040, 9)
# 去除字符串的前后空白和回车换行符
data['岗位名'] = data['岗位名'].str.strip().apply(lambda x: x.lower())
data.head()
公司名 | 岗位名 | 工作地点 | 工资 | 发布日期 | 工作描述 | 公司类型 | 公司规模 | 行业 | |
---|---|---|---|---|---|---|---|---|---|
0 | |||||||||
0 | 字节跳动 | 数据产品经理 | 北京 | 2-3.5万/月 | 09-03 | [] | ['民营公司'] | ['10000人以上'] | ['互联网/电子商务,计算机软件'] |
1 | 甲骨文(中国)软件系统有限公司 | 数据库管理员 | 长沙 | NaN | 09-03 | ['Oracle Advanced Customer Service', 'RESPONSI... | ['外资(欧美)'] | ['500-1000人'] | ['计算机软件'] |
2 | 莱茵技术(上海)有限公司 TUV Rhei... | 莱茵学院与生命关怀部数据安全/it安全的业务拓展经理 | 上海-静安区 | NaN | 09-03 | [] | [] | [] | [] |
3 | 百度在线网络技术(北京)有限公司... | 商业分析规划部_资深数据分析师 | 北京 | 2-4万/月 | 09-03 | ['-通过对数据的敏锐洞察以及定性和定量分析,迅速定位内部问题或发现机会', '-负责大商业... | ['外资(欧美)'] | ['500-1000人'] | ['互联网/电子商务'] |
4 | 携程旅行网业务区 | 数据分析经理(j18545) | 上海-长宁区 | 1.5-2万/月 | 09-03 | ['工作职责:', '1、对数据进行筛选和整理,提高项目数据分析效率;', '2、负责预订中... | ['民营公司'] | ['10000人以上'] | ['酒店/旅游,互联网/电子商务'] |
# 查看每个岗位有多少名额
data['岗位名'].value_counts()
算法工程师 920
大数据开发工程师 642
java开发工程师 577
图像算法工程师 397
web前端开发工程师 356
...
蓝牙安卓开发工程师 1
大数据开发工程师(中级) 1
高级/中级实施顾问 1
安全合规工程师