1.项目背景
在当今数字化时代,企业数据的收集和分析已经成为企业成功的关键因素之一。员工数据作为企业数据的重要组成部分,对于企业的人力资源管理、战略决策等方面都具有重要的意义。然而,如何有效地整合、分析和利用员工数据,一直是企业面临的挑战。
员工数据包含了员工的基本信息、工作表现、职业发展等方面,这些数据可以揭示员工的特点、行为和趋势。通过对员工数据的分析和挖掘,企业可以更好地了解员工的需求和期望,优化招聘和培训计划,提高员工的工作满意度和忠诚度。此外,员工数据还可以帮助企业识别潜在的劳动力风险和机会,为企业的战略发展提供数据支持。
然而,目前很多企业对于员工数据的利用还停留在传统的表格和报表形式,无法直观地呈现数据的特点和趋势。同时,由于数据来源的多样性,数据的准确性和完整性也难以保证。因此,需要一种更加有效的方法来整合、分析和利用员工数据。
数据可视化是一种将数据以图形、图像等形式呈现出来的方法,可以直观地展示数据的特点和趋势。通过数据可视化,企业可以更加清晰地了解员工情况,为人力资源决策提供有力的支持。同时,数据可视化还可以提高数据的透明度和可信度,加强管理层与员工之间的沟通和信任。
因此,本次实验旨在通过可视化工具和技术,分析和呈现公司员工数据信息。这种数据可视化对于公司管理和决策制定非常重要,可以帮助领导层更好地了解员工情况,优化流程,提高效率,和制定人力资源策略。
2.数据集介绍
该数据集来源于Kaggle,原始数据集中共有4653条,9个特征变量,各变量解释含义如下:
Education: 员工的教育资格,包括学位、机构和研究领域。
Joining Year: 每位员工加入公司的年份,表明他们的服务年限。
City: 每个员工所在或工作的地点或城市。
Payment Tier: 将员工分为不同的薪资等级。
Age: 每个员工的年龄,提供人口统计洞察。
Gender: 员工的性别认同,促进多样性分析。
Ever Benched: 表示员工是否曾经暂时没有分配过工作。
Experience in Current Domain: 员工在当前领域的经验年数。
Leave or Not: 目标栏。
3.技术工具
Python版本:3.9
代码编辑器:jupyter notebook
4.导入数据
首先导入数据可视化的第三方库,并加载数据集
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import plotly.express as px import warnings warnings.filterwarnings('ignore') df = pd.read_csv("Employee.csv") df.head()
查看数据大小
查看数据基本信息
查看数据描述性统计
删除缺失值和重复值
5.数据可视化
# 员工教育分析 plt.figure(figsize=(10, 6)) sns.countplot(data=df, x='Education', palette='Set2') plt.title('Education of Employees') plt.show()
1971名员工拥有学士学位,说明大多数员工拥有学士学位。拥有硕士学位的员工637人,156名拥有博士学位的员工。
# 入职年限分布 sns.histplot(data=df, x='JoiningYear', bins=20, kde=True, color='skyblue') plt.title('Distribution of Joining Years') plt.show()
2017年是加入该公司的员工人数最多的一年,有662名新员工。紧随其后的是,2015年,有464名新员工加入公司。2013年,共有396名员工加入公司。新员工人数最少的一年是2018年,只有239名员工加入该公司。
# 员工城市分布 city_cnts = df['City'].value_counts() px.pie(city_cnts, names=city_cnts.index, values=city_cnts.values, title='Employees Distribution by City', color_discrete_sequence=px.colors.sequential.Sunset, hole = 0.5)
大多数员工(42.4%)来自班加罗尔,其次是29%来自浦那,28.7%来自新德里
# 员工年龄分布 plt.figure(figsize=(10, 6)) sns.histplot(data=df, x='Age', bins=20, kde=True, color='coral') plt.title('Employee Ages Distribution') plt.show()
数据集中员工的最低年龄为22岁。25%的员工年龄在27岁以下或等于27岁。50%的员工年龄在30岁以下或等于30岁。75%的员工年龄在35岁以下或等于35岁。数据集中记录的员工最大年龄为41岁。
# 性别分布 sns.countplot(data=df, x='Gender', palette='muted') plt.title('Gender Distribution') plt.show()
组织中男性员工比女性员工多。
# 当前领域的经验分布 plt.figure(figsize=(10, 6)) sns.histplot(data=df, x='ExperienceInCurrentDomain', bins=20, kde=True, color='limegreen') plt.title('Distribution of Experience in Current Domain') plt.show()
大多数员工有2年工作经验(681名员工),其次是5年工作经验(470名员工)。随着工作年限的增加,员工人数逐渐减少。只有少数员工在当前领域拥有6年(8名员工)或7年(9名员工)的经验。
# 员工休假或未休假人数 sns.countplot(data=df, x='LeaveOrNot', palette='dark') plt.title('Count of Employees Leave or Not') plt.show()
大多数员工都没有休假。
# 支付等级分布 paymentTier_cnts = df['PaymentTier'].value_counts() px.pie(city_cnts, names=paymentTier_cnts.index, values=paymentTier_cnts.values, title='Payment Tier Distribution', color_discrete_sequence=px.colors.sequential.Jet, hole = 0.5)
大多数员工(71.5%)处于第三支付层。20.6%的员工处于第二支付层,只有7.89%的员工处于第一支付层。
# 按性别划分的年龄分布 px.box(df, x='Gender', y='Age', color='Gender', title='Age Distribution by Gender' , color_discrete_sequence=px.colors.sequential.deep_r)
大多数男女员工的年龄在27到35岁之间。
# 按支付级别划分的当前领域经验 px.violin(df, x='PaymentTier', y='ExperienceInCurrentDomain', title='Experience in Current Domain by Payment Tier', color = 'PaymentTier', color_discrete_sequence=px.colors.sequential.RdBu_r )
第一个支付级别的大多数员工的工作经验在1年到4年之间。第二支付等级的大多数员工的工作经验在2年到4年之间。大多数第三支付等级的员工的工作经验在1年到4年之间。
# 城市性别分布 plt.figure(figsize=(12, 6)) sns.countplot(data=df, x='City', hue='Gender', palette='Set3') plt.title('Gender Distribution by City') plt.show()
班加罗尔和浦那的男性雇员更多。新德里有更多的女性雇员。
# 按性别划分的付款等级和年龄 px.box(df, x='PaymentTier', y='Age', color='Gender', title='Box Plot: Payment Tier and Age by Gender' , color_discrete_sequence=px.colors.sequential.RdBu)
在第一支付层,大多数男性员工的年龄在26 - 35岁之间,大多数女性员工的年龄在26 - 32岁之间。在第二支付层,大多数男性员工的年龄在26 - 34岁之间,大多数女性员工的年龄在27 - 35岁之间。在第三支付层,大多数男性员工的年龄在28 - 35岁之间,大多数女性员工的年龄在27 - 35岁之间。
6.总结
通过上面的可视化分析,我们得出了以下结论:
- 大多数员工拥有学士学位。
- 2017年和2015年是新员工数量最多的一年。
- 班加罗尔的员工集中度最高,其次是浦那和新德里。
- 员工的年龄范围相对较窄,大多数在27至35岁之间。
- 男性员工比女性员工多。
- 87%的部署率是积极的,但应该采取相应的策略来减少不部署。
- 大多数员工都有2年的工作经验。
- 员工的稳定性很明显,大多数人都没有休假
- 大多数员工都在第三支付层。
- 班加罗尔和浦那的男性员工更多,而新德里的女性员工更多。
- 拥有硕士和博士学位的员工的存在表明了教育的多样性。
通过本次实验,公司管理层获得了更清晰的员工数据信息,可以更好地制定战略决策,提高公司的绩效和竞争力。数据可视化是一个强大的工具,可以帮助公司更好地了解自身情况,优化资源分配,提高效率。