前言

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

项目背景

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数据分析帮你清晰的了解整理员工们的工作效率和整体满意度的更多相关文章

  1. python数据分析笔记——数据加载与整理]

    [ python数据分析笔记——数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&id ...

  2. python virtual env 使用 jupyter ipython notebook,舒服了, 工作效率翻倍

    话不多说,尊重原作者 知乎链接

  3. Python数据分析笔记

    最近在看Python数据分析这本书,随手记录一下读书笔记. 工作环境 本书中推荐了edm和ipython作为数据分析的环境,我还是刚开始使用这种集成的环境,觉得交互方面,比传统的命令行方式提高了不少. ...

  4. python数据分析中常用的库

    Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具,需要的朋友可以参考下 Pyth ...

  5. 总是在起头可是能怎么办呢 Python数据分析

    目录 前言1 第1章准备工作5 本书主要内容5 为什么要使用Python进行数据分析6 重要的Python库7 安装和设置10 社区和研讨会16 使用本书16 致谢18 第2章引言20 来自bit.l ...

  6. python数据分析01准备工作

    第1章 准备工作 1.1 本书的内容 本书讲的是利用Python进行数据控制.处理.整理.分析等方面的具体细节和基本要点.我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你 ...

  7. 【读书笔记与思考】《python数据分析与挖掘实战》-张良均

    [读书笔记与思考]<python数据分析与挖掘实战>-张良均 最近看一些机器学习相关书籍,主要是为了拓宽视野.在阅读这本书前最吸引我的地方是实战篇,我通读全书后给我印象最深的还是实战篇.基 ...

  8. Python数据分析基础PDF

    Python数据分析基础(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1ImzS7Sy8TLlTshxcB8RhdA 提取码:6xeu 复制这段内容后打开百度网盘手 ...

  9. KNIME + Python = 数据分析+报表全流程

    Python 数据分析环境 数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具.个人选择是python这类,包括pandas,n ...

随机推荐

  1. 初学者对Git的使用安装教程,以及对unknown key type -rsa的解决办法

    第一次使用Git,诚惶诚恐. Git在每个电脑上第一次使用必须要配置环境,才能通过SSH秘钥的方式安全稳定的拉取代码! 此文适合对Git一无所知的小白观看,大神勿扰.下面我将讲解一个傻瓜式的Git安装 ...

  2. Java实现 蓝桥杯 算法训练 Number Challenge(暴力)

    试题 算法训练 Number Challenge 资源限制 时间限制:3.0s 内存限制:512.0MB 问题描述 定义d(n)为n的约数个数.现在,你有三个数a,b,c.你的任务是计算下面式子mod ...

  3. Java实现 LeetCode 538 把二叉搜索树转换为累加树(遍历树)

    538. 把二叉搜索树转换为累加树 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和 ...

  4. Java实现 LeetCode 264 丑数 II(二)

    264. 丑数 II 编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, ...

  5. Java实现 LeetCode 232 用栈实现队列

    232. 用栈实现队列 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部. pop() – 从队列首部移除元素. peek() – 返回队列首部的元素. empty() – 返 ...

  6. java实现第七届蓝桥杯圆圈舞

    圆圈舞 题目描述 春天温暖的阳光照耀着大地,正是草原上的小动物们最快乐的时候.小动物们在草原上开了一个舞会,欢度这美好的时光. 舞会上最重要的一个环节就是跳圆舞曲,n只小动物手拉手围成一大圈,随着音乐 ...

  7. mysql基础-数据库表的管理-记录(四)

    0x01 MySQL中字符大小写 1.SQL关键字及函数不区分大小写 2.数据库.表及视图名称的大小写区分与否取决于底层OS及FS 3.存储过程.存储函数及事件调度器的名字不区分大小写,但触发器区分大 ...

  8. iOS-线程&&进程的深入理解

    进程基本概念 进程就是一个正在运行的一个应用程序; 每一个进度都是独立的,每一个进程均在专门且手保护的内存空间内; iOS是怎么管理自己的内存的,见博客:博客地址 在Linux系统中,想要新开启一个进 ...

  9. 安装apoc插件

    APOC是Neo4j 3.3版本推出时推荐的一个Java存储过程包,包含丰富的函数和存储过程,作为对Cypher所不能提供的复杂图算法和数据操作功能的补充,APOC还具有使用灵活.高性能等优势. 1. ...

  10. 简述hadoop安装步骤

    简述hadoop安装步骤 安装步骤: 1.安装虚拟机系统,并进行准备工作(可安装- 一个然后克隆) 2.修改各个虚拟机的hostname和host 3.创建用户组和用户 4.配置虚拟机网络,使虚拟机系 ...