利用python进行数据分析

数据分析的基本步骤包括:

1、提出问题

2、理解数据

3、清洗数据

4、构建模型

5、数据可视化

默认环境使用Anaconda软件,python3语言,win10系统

在这里使用朝阳医院18年销售数据作为案例

《利用python进行数据分析》
《利用python进行数据分析》

1、提出问题

假如我们要得到以下指标:

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

2、理解数据

2.1 安装一个读取excel文件的依赖包:xlrd(如非第一次操作,请跳过)

《利用python进行数据分析》
《利用python进行数据分析》

打开后输入命令:conda install xlrd

《利用python进行数据分析》
《利用python进行数据分析》

等待其结束就好

2.2 将数据信息导入jupyter目录(如非第一次操作,请跳过)

《利用python进行数据分析》
《利用python进行数据分析》

点击“Upload”找到对应文件上传即可

2.3读取数据

《利用python进行数据分析》
《利用python进行数据分析》

打印前五行:

《利用python进行数据分析》
《利用python进行数据分析》

行数、列数:

《利用python进行数据分析》

查看列的数据类型:

《利用python进行数据分析》

3、数据清洗

数据清洗步骤包括:

1、选择子集

2、列名重命名

3、缺失数据处理

4、数据类型转换

5、数据排序

6、异常值处理

下面我们逐一来看

3.1 选择子集

《利用python进行数据分析》
《利用python进行数据分析》

注:根据实际应用场景判断是否有选择必要,本操作暂无必要,故跳过此步骤。

3.2 列名重命名

《利用python进行数据分析》
《利用python进行数据分析》

可以看到列名“购药时间”变成了“销售时间”。

inplace默认为False,数据框不变,创立一个新的改动后的数据框

inplace=True,则是对现有数据框进行改动

3.3 缺失数据的处理

《利用python进行数据分析》
《利用python进行数据分析》
《利用python进行数据分析》
《利用python进行数据分析》

可以看到删除后数据变少了。

一般面对缺失数据的情况有两种解决的思路,一种是删除单条缺失数据,第二种是当缺失数据过多时,建模插值补充数据。根据实际业务场景,销售时间和社保卡号均不能为空,否则单条数据不能用来进行判断,因此删除单条销售时间或社保卡号为空的数据。

python数据缺失值有三种:

1、pandas函数中使用浮点值NaN(Not a Number)表示缺失数值。

2、pandas函数采用了R语言的编程管理,将缺失值称为NA(not available 不可用)

3、python内建的None值在对象数组中也被当做NA来处理。

综述,缺失值为:NaN、NA、None

常用过滤缺失数据的方法有两种:

1、pandas.isnull和布尔值索引手动过滤

2、dropna函数,在数据框上使用dropna,它会返回数据框中所有的非空数据和它的索引值。

这里使用第二种。

3.4 数据类型转换

《利用python进行数据分析》
《利用python进行数据分析》

因为在导入数据框的时候,默认将所有数据的类型相同,但显然这并不符合现实情况。如图。

《利用python进行数据分析》
《利用python进行数据分析》

根据需要,这里对“销售数量”、“应收金额”、“实收金额”这三个列的数据转换类型。如图。

《利用python进行数据分析》
《利用python进行数据分析》

然后,对“销售时间”这列的数据进行处理。

首先这里需要了解分割字符串的方法,通过空格将字符串分为两个部分。如图。

《利用python进行数据分析》

然后就可以取出想要的一部分的值。如图。

《利用python进行数据分析》

由于我们要对数据框中“销售时间”整个列进行处理,所以先要定义一个进行这样操作的函数。如图。

《利用python进行数据分析》
《利用python进行数据分析》

检查一下dateSer的值。如图。

《利用python进行数据分析》

确认无误之后,使用定义的函数进行操作。如图。

《利用python进行数据分析》
《利用python进行数据分析》

清洗过后,再次打印查看结果。

《利用python进行数据分析》
《利用python进行数据分析》

成功~

3.5 数据排序

by:按哪几列排序

ascending=True 表示升序排列,

ascending=True表示降序排列

na_position=True表示排序的时候,把空值放到前列,这样可以比较清晰的看到哪些地方有空值

根据实际业务场景,按销售日期进行升序排列。如图。

《利用python进行数据分析》
《利用python进行数据分析》

3.6 异常值处理

《利用python进行数据分析》

根据实际应用场景,销售数量肯定为正数,所有数据框内数据部分出现错误。现在要把错误数据找出来并删除。

《利用python进行数据分析》

这时候再来看一下指标描述情况。如图。

《利用python进行数据分析》

看不出异常了。

到这里数据清洗结束。

4、构建模型

我们先把之前提出的问题拿过来,并逐一处理。

1、月均消费次数

2、月均消费金额

3、客单价

4、消费趋势

4.1 月均消费次数

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

获取总消费次数和月份数两个值。如图。

《利用python进行数据分析》
《利用python进行数据分析》

结论:

《利用python进行数据分析》
《利用python进行数据分析》

4.2 月均消费金额

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

《利用python进行数据分析》
《利用python进行数据分析》

4.3 客单价

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

《利用python进行数据分析》
《利用python进行数据分析》

4.4 消费趋势

数据可视化方面呢,未完待续hh

点赞