Python数据分析帮你清晰的了解整理员工们的工作效率和整体满意度
2020-06-30 15:26
477 查看
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
项目背景
2018年,被称为互联网的寒冬之年。无论大小公司,纷纷走上了裁员之路,还有一些比较惨的,直接关门大吉。2019年上半年,甲骨文裁掉大量35岁左右的程序员,谁也没想到,IT界退休年龄这么早!而内心OS:我的房贷还没还清。。。。
假设你是人力资源总监,你该向谁开刀呢?先回答一下下面的问题。
- 各部门有多少名员工?
- 员工总体流失率是多少?
- 员工平均薪资是多少?
- 员工平均工作年限是多少?
- 公司任职时间最久的3名员工是谁?
- 员工整体满意度如何?
数据处理
import pandas as pd data = pd.read_excel(r'c:\Users\Administrator\Desktop\英雄联盟员工信息表.xlsx',index_col = u'工号') # 访问columns属性,查看列字段 data.columns # 访问index属性,查看行标记 data.index # 访问values属性,查看数据集 data.values
# 对元数据集增加一列奖金列,数额为薪资的20% data[u'奖金'] = data[u'薪资']*0.2 data[u'奖金'].head() # loc方法,根据索引列访问数据集 idx = ['lol-1','lol-2','lol-3','lol-7'] data.loc[idx]
# 对元数据集增加一列奖金列,数额为薪资的20% data[u'奖金'] = data[u'薪资']*0.2 data[u'奖金'].head() # loc方法,根据索引列访问数据集 idx = ['lol-1','lol-2','lol-3','lol-7'] data.loc[idx]
此时,我们在上述结果中发现:寒冰、盖伦是重复数据条,在数据分析过程中,一定要注意重复数据带来的影响,所以我们要进行去重操作。
# 查看重复数据条(bool结果为True代表重复) data.duplicated() # 查看有多少条重复数据 data.duplicated().sum() # 结果:2 # 查看重复数据 data[data.duplicated()] # 删除重复数据条,inplace参数代表是否在元数据集进行删除,True表示是 data.drop_duplicates(inplace=True) # 再次查看是否全部去重 data.duplicated().sum() # 结果:0,说明数据已经唯一
数据分析
1.各部门有多少名员工?
# 频数统计 data[u'部门'].value_counts() # ascending = True代表升序展示 data[u'部门'].value_counts(ascending = True)
2.员工总体流失率是多少?
# 频数统计 data[u'状态'].value_counts() # normalize = True 获得标准化计数结果 data[u'状态'].value_counts(normalize = True) # 展示出员工总体流失率 rate = data[u'状态'].value_counts(normalize = True)[u'离职'] rate
3.员工平均薪资是多少?
由上图的结果可以看出,平均薪资在16800元,你达到了吗?!允许你去哭一会o(╥﹏╥)o!
4.公司任职时间最久的3名员工是谁?
# describe方法也是常用的一种方法,而且结果更全面。 data[u'工龄'].describe() # 通过降序排序、切片操作,找到待的最久的三名员工 data[u'工龄'].sort_values(ascending = False)[:3] ID = data[u'工龄'].sort_values(ascending = False)[:3].index data.loc[ID]
6.员工整体满意度如何?
data[u'满意度'].head() # 通过查看满意度前五行发现,不太直观,我们可以用map进行映射,先建立一个映射字典 JobSatisfaction_cat = { 1:'非常满意', 2:'一般般吧', 3:'劳资不爽' } data[u'满意度'].map(JobSatisfaction_cat) # 对元数据集进行满意度映射 data[u'满意度'] = data[u'满意度'].map(JobSatisfaction_cat) data[u'满意度'].head()
接下来,进行员工整体满意度分析。通过计算可以得出:70%员工都比较认可公司,但仍有30%员工对公司不满意。人力主管以及部门主管需要进一步探究清楚这30%员工的情况,因为不满意是否已经离职?还是存在隐患?是否处于核心岗位等等问题值得我们进一步探究。
data.head() # 频数统计 data[u'满意度'].value_counts() # 获得标准化计数结果,考虑到百分比更能说明满意度情况,所以乘100展示 100*data[u'满意度'].value_counts(normalize = True)
相关文章推荐
- Python 数据分析微专业课程--项目02知乎数据清洗整理和结论研究
- 1行代码实现Python数据分析:图表美观清晰,自带对比功能丨开源
- python爬虫与数据分析实战,带你全方位了解所在城市酒店信息
- python数据分析笔记——数据加载与整理]
- python数据分析基础3_数据整理
- python - 利用Pandas对某app数据进行整理、分析并存入mongodb
- Python 数据分析微专业课程--项目03 视频网站数据清洗整理和结论研究
- Python数据分析(数据清洗分类和整理)
- python 全栈开发:数据类型整体分析
- 超全整理!Python数据分析知识体系
- Python数据分析与展示笔记整理
- 利用Python进行数据分析--数据聚合与分组运算1
- 数据机构 循环双链表 代码整理 清晰明了 思维整密的算法设计 值得品尝
- 利用Python进行数据分析——数据规整化:清理、转换、合并、重塑(七)(1)
- windows下 python数据分析包 sklearn 安装
- python学习、数据收集、数据分析
- 整理几个月的收获--(1)python包含列表字典的数据处理
- 实时数据之python操作elasticsearch监控数据插入图表分析
- 利用Python进行数据分析--时间序列
- 数据分析,数据挖掘相关资料整理(不断整理,追加中)