一、案例背景

本案例数据源自一家医院的医药销售数据

二、数据分析步骤

1提出问题

2理解数据

3数据清洗

4构建模型

5数据可视化

三、数据分析全过程

1)提出问题

根据医院的销售数据,分析以下业务指标

  • 月均消费次数
  • 月均消费金额
  • 客单价
  • 消费趋势

——数据导入




python医疗大数据分析 python 医学数据分析_python医疗大数据分析


2)理解数据

明确数据行列数,以及数据类型


python医疗大数据分析 python 医学数据分析_月均数据_02


3)数据清理

  • 选择子集
  • 列名重命名
  • 缺失数据处理
  • 数据类型处理
  • 数据类型转换
  • 数据排序
  • 异常值处理

(1) 选择子集

方法:subSalesDf=salesDf.loc[0:4,'购药时间':'销售数量']

注:本案例无需使用子集

(2)列名重命名

根据使用需求对列名进行重命名以便利识别和分析


python医疗大数据分析 python 医学数据分析_数据_03


(3)缺失数据处理

数据缺失处理方法:删除/插值

判断不可存在空值的列:销售时间和社保卡号


python医疗大数据分析 python 医学数据分析_月均数据_04


(4)数据类型转换

导入数据时使用object类型,现在根据需要对数据类型进行转化。

A 数值型

根据列表,判断销售数量,应收金融和实收金额应该为数值(浮点型)


python医疗大数据分析 python 医学数据分析_月均数据_05


B 日期型

根据列表,销售时间列所需数据为日期型数据(年月日),因此对销售时间的数据类型进行转换。

首先分割字符串,且需要定义分割函数对整个列的数据进行重复处理


python医疗大数据分析 python 医学数据分析_月均数据_06


python医疗大数据分析 python 医学数据分析_python医疗大数据分析_07


其次,需要将销售时间数据类型,由字符串转成日期型


python医疗大数据分析 python 医学数据分析_python医疗大数据分析_08


最后,在数据类型转换后,需要重新对数据缺失值进行处理。


python医疗大数据分析 python 医学数据分析_重命名_09


(5)数据排序

按销售时间对数据进行排序,便于后面的分析。


python医疗大数据分析 python 医学数据分析_数据_10


排序后,需要对数据行重命名行名。


python医疗大数据分析 python 医学数据分析_月均数据_11


(6)异常值处理

首先,进行表述行统计,判断是否存在异常值


python医疗大数据分析 python 医学数据分析_月均数据_12


发现销售数量中最小值为负数,说明销售数量中存在异常值,进行删除处理


python医疗大数据分析 python 医学数据分析_数据_13


4)构建模型

业务指标1:月均消费次数=总消费次数 / 月份数(同一天,同个人——算一次)


python医疗大数据分析 python 医学数据分析_月均数据_14


python医疗大数据分析 python 医学数据分析_数据_15


python医疗大数据分析 python 医学数据分析_数据类型_16


业务指标2:月均消费金额=总消费金额/月份数


python医疗大数据分析 python 医学数据分析_python医疗大数据分析_17


业务指标3:客单价=总消费金额/总消费次数


python医疗大数据分析 python 医学数据分析_数据类型_18


业务指标4: 消费趋势折线图

数据备份,同时将销售时间作为行名(index)


python医疗大数据分析 python 医学数据分析_数据_19


python医疗大数据分析 python 医学数据分析_数据_20


接着按月分组计算消费总额


python医疗大数据分析 python 医学数据分析_数据_20