利用pandas进行简单数据分析——医院销售数据分析案例

1 数据分析的目的

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息形成结论而对数据加以详细研究和概括总结的过程。

本篇文章中,假设以朝阳医院2018年销售数据为例,目的是了解朝阳医院在2018年里的销售情况,这就需要知道几个业务指标,例如:月均消费次数,月均消费金额、客单价以及消费趋势。

2 数据分析基本过程

数据分析基本过程包括:获取数据、数据清洗、构建模型、数据可视化以及消费趋势

2.1 获取数据

Excel中的数据部分截图:

先导入包,然后读取文件,读取的时候用object读取,防止有些数据读不了:

1.png

然后查看这些基本信息:

2.png

总共有6578行7列数据,但是“购药时间”和“社保卡号”这两列只有6576个数据,而“商品编码”一直到“实收金额”这些列都是只有6577个数据,这就意味着数据中存在缺失值,可以推断出数据中存在一行缺失值,此外“购药时间”和“社保卡号”这两列都各自存在一个缺失数据,这些缺失数据在后面步骤中需要进一步处理。

2.数据清洗

数据清洗过程包括:选择子集、列名重命名、缺失数据处理、数据类型转换、数据排序及异常值处理

(1)选择子集

在我们获取到的数据中,可能数据量非常庞大,并不是每一列都有价值都需要分析,这时候就需要从整个数据中选取合适的子集进行分析,这样能从数据中获取最大价值。在本次案例中不需要选取子集,暂时可以忽略这一步。

(2)列名重命名

在数据分析过程中,有些列名和数据容易混淆或产生歧义,不利于数据分析,这时候需要把列名换成容易理解的名称,可以采用rename函数实现:

3.png

(3)缺失数据处理

获取的数据中很有可能存在缺失值,通过查看基本信息可以推测“购药时间”和“社保卡号”这两列存在缺失值,如果不处理这些缺失值会干扰后面的数据分析结果。缺失数据常用的处理方式为删除含有缺失数据的记录或者利用算法去补全缺失数据。在本次案例中为求方便,直接使用dropna函数删除缺失数据,具体如下:

4.png

(4)数据类型转换

在导入数据时为了防止导入不进来,会强制所有数据都是object类型,但实际数据分析过程中“销售数量”,“应收金额”,“实收金额”,这些列需要浮点型(float)数据,“销售时间”需要改成时间格式,因此需要对数据类型进行转换。

可以使用astype()函数转为浮点型数据:

5.png

在“销售时间”这一列数据中存在星期这样的数据,但在数据分析过程中不需要用到,因此要把销售时间列中日期和星期使用split函数进行分割,分割后的时间,返回的是Series数据类型:

6.png

接着把切割后的日期转为时间格式,方便后面的数据统计:

7.png

(5)数据排序

此时时间是没有按顺序排列的,所以还是需要排序一下,排序之后索引会被打乱,所以也需要重置一下索引。其中by:表示按哪一列进行排序,ascending=True表示升序排列,ascending=False表示降序排列:

8.png

(6)异常值处理

先查看数据的描述统计信息:

9.png

通过描述统计信息可以看到,“销售数量”、“应收金额”、“实收金额”这三列数据的最小值出现了负数,这明显不符合常理,数据中存在异常值的干扰,因此要对数据进一步处理,以排除异常值的影响:

10.png

3.构建模型及数据可视化

数据清洗完成后,需要利用数据构建模型(就是计算相应的业务指标),并用可视化的方式呈现结果。

(1)业务指标1:月均消费次数

月均消费次数 = 总消费次数 / 月份数

11.jpg

①计算总消费次数:

12.png

②计算月份数:

13.png

③计算月均消费次数:

14.png

(2)业务指标2:月均消费金额

月均消费金额 = 总消费金额 / 月份数

15.png

(3)业务指标3:客单价

客单价 = 总消费金额 / 总消费次数

16.png

(4)业务指标4:消费趋势

先导入相关的包:

17.png

①分析每天的消费金额

18.png

20.png

从结果可以看出,每天消费总额差异较大,除了个别天出现比较大笔的消费,大部分人消费情况维持在500元以内。

②分析每月的消费金额

接下来,我销售时间先聚合再按月分组进行分析:

21.png

23.png

结果显示,7月消费金额最少,这是因为7月份的数据不完整,所以不具参考价值。

1月、4月、5月和6月的月消费金额差异不大,2月和3月的消费金额迅速降低,这可能是2月和3月处于春节期间,大部分人都回家过年的原因。

③分析药品销售情况

对“商品名称”和“销售数量”这两列数据进行聚合为Series形式,方便后面统计,并按降序排序:

24.png

截取销售数量最多的前十种药品,并用条形图展示结果:

25.png

26.png

得到销售数量最多的前十种药品信息,这些信息将会有助于加强医院对药房的管理。

猜你喜欢

转载自blog.csdn.net/apollo_miracle/article/details/88550078