Python学习过程中numpy和pandas是应用最为广泛的包,我们这次来一起学习利用它们进行数据分析的方法,本次分为三部分:一维数据分析、二维数据分析和数据分析案例
1.一维数据分析
numpy中的一维数组定义
mumpy中的一维数组可以进行平均值和标准差的计算,还可以进行向量化计算,这点与数据表不同
panda中一位数据结构的定义方式如下
取值可以通过两种方法,使用iloc根据需要进行取值,还可以通过loc根据索引值进行取值
2.二维数据分析
numpy中的二维数组创建与取值方法如下,使用冒号可以切片访问代表该行或该列的全部值
按照行或列进行平均值计算的方式如下:
pandas的数据框可以引入每列不同的数据类型,并可以通过索引值来进行标注,更加适合excel中的数据列表
使用pandas进行二维数据定义的方式及各列平均值计算方法如下:
元素查询方法如下,取值方式也可以采用上面所述的切片访问方式进行
使用loc进行查询可以指定条件进行查询,往往更为方便
以上为构建条件判断进行筛选,先通过定义查询条件销售数量大于1,再在切片查询中加入这个条件即可。
数据及描述统计信息:
我们可以通过Python来对excel中的数据进行操作和分析,首先我们将excel中的文件导入,并检查前几行是否正确
并通过pandas简单获取表格的统计信息
3.数据案例分析
以上我们学习了一维和二维数据分析的基本操作知识,下面来以一个实际案例为例分析数据,分析的数据源为朝阳医院的销售数据,基于这部分数据来分析实际的业务问题,整体数据分析的步骤为
首先是提出问题:
我们需要通过数据分析出三个业务指标,月均消费次数,月均消费金额,客单价
理解数据:
数据为销售数据,包括购药时间、社保卡号、商品代码、商品名称、销售数量、应收金额和实收金额,共6578行、7列的销售数据,我们在上面已经操作过了。
数据清洗:
数据请以包括以下步骤:
首先是选择子集:
列名重命名:
缺失数据处理:
说明删除了三个缺失值
数据类型转换:
文件中的日期为日期和星期几混在一起,我们只需要日期,因此需要将其分离出来,并将属性改为日期属性,为此我们通过定义分隔函数的方式来实现:
再将字符串转换为日期,并消除空值
排序:
我们通过sort_values来进行排列,ascending=true表示降序排列,ascending=false表示升序排序
异常值处理:
我们通过python中的统计功能进行计算,发现销售数量中存在负数,这不符合业务逻辑,因此要对这部分异常参数进行删除
代码运行后,数据行数从6549缩减到6506
构建模型
解决提出的三个业务指标计算:
1.月均消费次数
总消费次数/月份数
总消费次数为去除重复值之后的行数
月份数为排序后的日期序号首尾相减
最后计算月均消费次数
月均消费金额=总消费金额/月份数
客单价=总消费金额/消费次数
至此,三个业务指标的计算都已经完成,数据可视化会在后续文章中进行操作,我们离掌握python又近了一步