新闻中心
如何进行数据分析?(正交实验设计数据)
如何进行数据分析:

一.提出问题
我们在做数据分析时都是为了解决工作或生活中遇到的问题,所以我们在做数据分析是的第一步就要明确我们需要解决什么样的问题。

我们这里有一份朝阳医院2018年药物的销售数据,根据这份销售数据,我们来尝试解决上面的三个问题:
月消费次数,也就是总的消费次数除以月份数,往往也是销售部门重要的指标值一。但要注意,同一天同一个人的消费为一次消费。月均消费金额,总的消费金额除以月份数,主要作部门收益的一个指标。客单价,也就是平均交易金额,即月均消费金额/月消费次数。看看是否需要提高客单价来提高收益。二.理解数据
我们需要先导入Excel数据文件,这里运用的是Pandas里的pd.ExcelFile的方法将excel格式转化过来。
#导入模块包 import pandas as pd import numpy as np #导入文件路径 fileNameStr=E:\\新建文件夹\\朝阳医院2018年销售数据.xlsx xls = pd.ExcelFile(fileNameStr, dtype=object) salesDf = xls.parse(Sheet1,dtype=object) #列出前五行数据 salesdata.head()
我们检验完数据,发现这个数据总共有7列,共6578条数据,如果一条条计算的话,任务量就太巨大了,所以利用python进行数据分析。
三.数据清洗

1.选择子集
在进行数据分析时,我们可以将我们不需要的数据数据清理掉,只保留我们需要的。

2.列名重命名
是为了方便我们进行数据分析,有时需要将列名更换成我们方便理解的名称,购药时间是医院方面的说法,我们把它换为销售时间,所以这里我们对这列进行重命名。

3.缺失数据处理
因为数据量比较大,如果数据中有空值,将会对我们的数据分析结果有影响,那么我们就将有空值的那行进行删除,主要就是去除掉一些无效数据。

4.数据类型转换
由于我们在之前读取数据的时候将所有数据转换成字符串格式。而 销售数量, 应收金额 ,‘实收金额’这三列为数字部分(整数或者浮点数)。所以这里要进行数据转化,使数据变得规整。

后面3列数据类型已经转化为浮点数,让我们看一下转化之后的效果。

在‘销售时间’列中的日期后面带有星期,这对我们是不利于观察数据变化的对于数据分析结果也没有作用。所以我们要对数据进行排序
对于这组数据来讲,本身不需要星期这一项,所以这个阶段直接清理掉。首先定义一个函数,这个函数的目的就是取空格以前的部分。我们就定义函数来将星期去除。

我们先看看这部分代码是否有效,并列出前三行:

这里代码没有问题,就用新形成的格式替换原有格式。

接着是整理时间的格式问题,我们将 销售时间 这一列的数据转换成时间格式,方便我们后边的数据统计。
销售数据中日期的格式为format,而对于不合格的日期格式,将其值转化为空值,这里要用Pandas里的to_datetime的方法对时间格式进行整理。

5.数据排序
对原有数据进行降序排列(ascending = False升序排列,ascending = True为降序排列)

上面最左边的数据行数变化比较大(0,3436,1190等),所以要对行号排序。

我们来查看一下描述统计信息:

通过数据我们可以看到销售数量中有负数,这一行中的最小值为-10,这显然不符合常理,我们要将异常值处理掉。

我们将异常数据删除后,再来看看:

4、构建模型
我们先来看第一个问题:
1.月均消费次数

首先需要两个数据,就是总的消费次数和月数,总的消费次数,就是同一天同一个人(社保号)为一次消费,剔除掉重复的数据。我们这里用到的是pandas里的drop_duplicates方法。

月份数的计算=(最后一行的时间 - 第一行的时间)/30

月均消费次数=总消费次数/月份数,共890次
2.月均消费金额
月均消费金额=总消费金额/月份
3.客单价
客单价=总消费金额/总消费次数
总结:这章的重点在于数据清洗在数据分析过程中有很多数据是杂乱无序的,我们需要对其进行规整,重点就是排序,去除缺失值和异常值。可以更方便我们观察数据和处理。数据可视化这部分没有在这篇文章里介绍,会在以后做介绍。
每当我拿到一关时都觉得好难,这一开始其实是自己把自己难住了。当真正做一件事时,先不要考虑难或不难这个问题,而是做好规划,把大问题分成一个个的小目标,一点一点的去完成它,当最后完成了所以的小目标后大问题也最终完成。