基于Python的一次职位招聘数据分析
- 1 Python数据分析常用的库和库函数
- 2 一次完整的数据分析过程
-
* * 画图
- 工作地点处理
- 工资计量单位统一
- 公司类型
- 行业类型
- 参考
配套资源下载
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()