Python数据分析帮你清晰的了解整理员工们的工作效率和整体满意度

Posted hhh188764

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据分析帮你清晰的了解整理员工们的工作效率和整体满意度相关的知识,希望对你有一定的参考价值。

技术图片

 

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

项目背景

2018年,被称为互联网的寒冬之年。无论大小公司,纷纷走上了裁员之路,还有一些比较惨的,直接关门大吉。2019年上半年,甲骨文裁掉大量35岁左右的程序员,谁也没想到,IT界退休年龄这么早!而内心OS:我的房贷还没还清。。。。

假设你是人力资源总监,你该向谁开刀呢?先回答一下下面的问题。

  • 各部门有多少名员工?
  • 员工总体流失率是多少?
  • 员工平均薪资是多少?
  • 员工平均工作年限是多少?
  • 公司任职时间最久的3名员工是谁?
  • 员工整体满意度如何?
技术图片

 

数据处理

import pandas as pd
data = pd.read_excel(rc:UsersAdministratorDesktop英雄联盟员工信息表.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数据分析帮你清晰的了解整理员工们的工作效率和整体满意度的主要内容,如果未能解决你的问题,请参考以下文章

这几个常用的python库你需要知道

这4款Mac App帮你整理思路,效率提升好帮手!

编程#到底给孩子选择Scratch还是Python呢?5个问答帮你做决定!

教你如何在工作中“偷懒”,python优雅的帮你解决

im即时通讯让工作汇报更加高效

python+unittest框架整理(一点点学习前辈们的封装思路,一点点成长。。。)