11.4综合案例:巴尔的摩公务员工资数据分析

数据来源

以美国市巴尔的魔2016年公务员工资的数据集为基础,通过可视化手段,分析其工资情况(该数据为美国政府公开的公职人员的薪资数据)。

其中:Name姓名 JobTitle职称名称 AgencyID工号 Agency单位 HireDate入职日期AnnualSalary年薪 GrossPay总薪资(税前)

从官网上下载CSV文件通过pandas读取,加载该数据,如下:
from pandas import DataFrame,Series
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
salary=pd.read_csv(open(r'D:\Baltimore_City_Employee_Salaries_FY2016.csv'))
salary.head()
image.png

定义问题

本次分析,围绕工资提出几个问题:年薪的分布情况、公务人员入职日期的情况、年薪最高的植物和人数最多的职位。

数据清洗

首先对数据进行简单描述,看是否有缺失值,如下图所示:


image.png

可以看出GrossPay列有272个缺失值,因为这里样本值足够,直接删除这些样本即可,如下图所示:


image.png

通过观察数据,发现年薪和薪资都是字符串结构的,有“$”符号,需将其去掉,并转换为浮点型,如下所示:
image.png

对于入职日期,可以新建一列,用于存放入职月份,如下如:


image.png

数据探索

对年薪进行直方图绘制,如下图:


image.png

然后对入职的月份进行计数并绘制柱状图,如下图,入职的高峰期为9月、8月和6月。


image.png

接着通过聚合运算,计算各职位的年薪平均值和职位个数,如下图:
image.png

然后再对年薪平均值进行降序排序,取前五名绘制柱状图,如图,可以看出STATE'S ATTORNEY的年薪最高


image.png

按照同样的方法绘制职位人数排名柱状图,如下:可以看出Police Officer警察职位远多于其他职位。
image.png

推荐阅读更多精彩内容