假设:
当前有N多个月的M种产品的日销售额数据,数据以月为单位存分别存放在不同的excel表格中,想要直观观察不同产品的月销售额关系,想要看在每月的哪一天完成了月销售额的80%,并且希望从不同产品销售额之间寻找一定规律,为制定销售目标提供依据。
数据:
某公司A,B产品在2018年1,2,3……月每天销量数据,数据格式为xlsx
目的1:实现能够批量读取某文件夹中存放的统一类型的月销售数据,并一次性输出每个表格的基本信息,包括数据量、数据字段columns以及每个文件缺失值数量。
可以自定义函数读取文件夹中的所有文件,并输出相关信息,通过input函数可输入需要分析数据的路径。
运行代码,输入想要分析的数据路径
在上述空格中输入文件所在路径 E:\python\project5,运行函数可查看每月数据基本情况。
文件夹中数据的基本情况
查看数据缺失部分
查看第一个表缺失数据部分
目的2:对于缺失值数据用均值填充,分别计算每月A,B产品的月总销量,并用柱状图呈现,将图片存储在另外的图片文件夹。并考虑输出在每月的哪一天完成了月销量的80%。
自定义函数fill_nan(),对于括号内输入的字段可以用均值填充缺失值,并将时间序列索引转化为periodIndex索引,以便后续计算在哪一天完成了月销量的80%。
运行函数后,用document[0]查看第一个月销售额填充的结果缺失值已经填充
目的3:将多种产品的每月的月销售额直观的呈现。
定义函数计算月销量将AB产品每月月销量绘制柱状图,并把柱状图存入名为project5_pic的文件夹内。 image.png 每月AB产品销售额对比图.png
运行函数后指定文件夹内已经存在对比图
目的4:想知道某产品在哪一天销售额达到了月销售额的80%。
定义函数,函数中输入产品名即可查看该产品在哪一天销售额达到了月销售额的80%。
同样道理,函数中输入productB可以查看产品B在每月的哪一天达到了月销售额的80%。
image.png
从上面的柱状图来看,似乎AB两产品每月销售额是正相关的。将每月的销售额数据合并为一个大表,从而验证一下AB产品销售额是否有关联。
定义函数,通过concat()函数,将每月销售额数据合并为一个汇总表data,分别以A、B产品日销售额为横纵坐标绘制散点图,观察二者是否如猜想的那样样有一定的关联。
根据输出结果可以发现A、B产品销售额是典型的线性相关。可以采用线性回归模型,通过一个产品的销售额预测另一个产品销售额,从而为制定合适可行的销售目标提供参考。
线性回归模型训练
用已有的数据训练线性回归模型模型
可以看到模型拟合较好,根据上述函数可以预测当productA销售额为1200元时,productB销售额预测值为1303元左右。在实际运用中,可以依据上述模型通过某一产品的日销售额来预测与其相关的另一产品的销售额。
多种产品相关性分析
当一个表格中有多种产品的每天销售额数据,为提升店铺的销量,可以将关联产品推荐给用户,提高销售额,也就是经典的啤酒与尿布的方法。通过散点矩阵图可以快速判断不同产品值间的相关性。比如当有4中产品时,彼此间的关系会有6种,矩阵散点图可以快速直观观察这6种关系。
4种产品每日销售额
绘制矩阵散点图
矩阵散点图
由上图可以直观看出A与B产品、C与D产品之间有明显的线性相关的关系。 故而在营销推广时,可将AB产品关联起来,CD产品关联起来。
网友评论