酒类销售数据分析研究_第1页
酒类销售数据分析研究_第2页
酒类销售数据分析研究_第3页
酒类销售数据分析研究_第4页
酒类销售数据分析研究_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成果形式:实践报告成果名称:酒类销售数据分析实践活动题目一、实践目的1.实践学习周目的(1)为即将到来的大四外出实习就业做准备,提前培养小组协商的合作能力;(2)从不同的实用角度学习python,从数据分析入手了解python;(3)积累和同学一起完成项目的经验,为大四后真正的实习工作做准备;(4)提前锻炼小组成员间一起合作数据处理能力,提高对真实数据的处理能力,引发对数据处理的自身独立思考。2.实践学习课题目的(1)在电子商务月新日易的背景下,为了增强品牌的竞争力,全面优化品牌的产品路线,准确掌握市场上相似竞争对手的实际情况,积极寻找及开发新的品牌网上市场;(2)某一酒类品牌希望通过电子商务的渠道通过部分真实产品销售数据对现行市场中的几大相似竞争品牌进行产品对比分析。二、实践内容1.数据分析基础知识学习(1)Anaconda的介绍使用Anaconda是目前市场上专门定点于数据分析的Python的发行版本,包含Conda、Python等等180多个科学包及相关依赖项。Conda是一个独立的开源的包、环境管理器,其可以用于同一个机器安装上不同版本软件包及依赖项,而且能够在不同环境之间自由切换。Packages管理:Packages是可以使用Conda安装、更新、卸载等工具包的,而且它更加关注于与科学技术等相关的工具包。安装Anaconda时就提前集成了类似Scikit-learn等数据分析中会时常会用的包。虚拟环境管理系统:就是Conda中能建立多个虚拟环境,分别用于隔离不同项目各自需要的不同版本之间的工具包,来防止版本冲突。Anaconda是通过管理包括工具包、开发的环境与Python的版本,极强的简单化工作流程。不仅能方便地安装、卸载、更新相关的工具包,而且还能再安装时自动的安装其相对应的依赖项,与此同时可以使用不相同的虚拟环境来隔离有不同要求的数据项目。本次实践周,我们在老师的要求下直接使用anaconda中的一个Jupyter(Notebook)的编辑器。Jupyter(Notebook)(此前曾被称为IPythonnotebook)是一个交互式的笔记本,可以支持和运行40多种的编程语言。其本质是一个Web的应用程序,用于创建与共享关于文字化程序文档,可以支持新实时代码,可视化和数学方程、Markdown。它的用途包括:数据清理及转换,机器学习,统计建模与数值模拟等等。对于向我们这样的初学者来说,Jupyter(Notebook)的另一个独有特色是可任意允许把其代码写入其独立的cell中,并可以单独执行。能这样做就意味着用户们可以在测试项目时,单独的测试特定的代码块,而无需再从头开始执行代码了。虽说其他的IDE环境(例如RStudio)其实也提供这种功能,不过就个人的使用情况来看,Jupyter(Notebook)单元结构无疑是设计最好的。Jupyter(Notebook)优势还多呈现在其的灵活性与交互性上面。其中它支持编程语言的数量一度高达40余种类,除却最基础的Python,Jupyter甚至还允许其用户在上面运行包括R语言与SQL等语言。因为它比IDE平台要更具有交互性,所以用户也就更乐于在各种的教程中用它来显示代码。(2)python的基础学习在实践学习周的前期我们集中学习了一些关于python的基础知识运用,其中包括一些基础语法、标准数据的类型、组合数据的类型、流程控制的语句、一些基本函数等,还包括一些新型的机器学习理论,里面也介绍了一些关于数据挖掘的基础知识。在实践学习周的后期我们还学习了一些特定的算法、架构等等,例如k近邻算法。以下将简要的概括介绍一下这些内容。Python的思想,Python其实是被设计成是“符合大脑的思维习惯”的运用,采用了极简主义设计理念,加上统一的、规范的交互模式。这就使得Python更加易于学习、理解与记忆。Python开发的哲学:“用一种方法,最好是只用一种方法来完成一件事”。Python是完全面向对象的一种编程语言,函数、模块、字符串、数字等等内置类型都是其对象。它的类也支持多态、操作符的重载及多重继承等等高级OOP概念,而且Python所特有的简便语法与类型使OOP相当易于使用。不过OOP也只是Python的其中一个选择罢了,类似C++,Python一面支持面向对象编程,一面也支持面向过程编程的模式。Python是一种解释型的语言,当前Python的标准实现方式是,把源代码的语句编译为字节码格式,随后通过解释器将字节码给解释出来。这Python就没有将代码编译成底层二进制的代码,所以相较于对比于C与C++等编译型语言来说,Python的执行速度会稍微慢一些。不过Python解释型语言特性也提高了开发者的开发速度,于此同时也使它拥有了解释型语言易于编写与调试的优点。机器学习的本质其实就是借助数学模型来理解繁杂的数据。而当我们给模型装上适应观测数据的可调节参数,“学习”就正式开始了;此时程序被认为是具有从数据中“学习”的能⼒的。所以模型⼀旦可以拟合一些旧观测数据,那么就可以预测并且解释新观测数据了。数据挖掘的⽬标是要从历史数据之中找寻特殊的模式,⽽这些所寻找的模式⼀般都不会十分清晰,也就是说,客户所发出的信号有噪声,这就使得数据挖掘过程会变得困难,所以从噪声中分离出信号,要从看似随意的变化中识别出关键模式,一下子就变成数据挖掘的⼀项极重要的任务。数据挖掘是需要在特定情况的环境中所进⾏的,而这种环境源于企业,也决定于企业,既数据挖掘是应该嵌⼊整体客户关系的管理策略中的.而通过策略构架也可以清楚知道那些从数据挖掘中所获取知识应采取的动作。kNN,⼜称为是k近邻算法,是数据挖掘技术之中原理最为简单的算法之⼀。kNN的核⼼功能是:解决有监督分类问题,也可被⽤于回归问题。作为一种惰性学习算法,kNN从不产⽣模型,所以算法的准确性其实不具备可推⼴性,不过KNN能快速地、⾼效地解决建⽴在其特殊数据集上的预测分类型问题,具备十分⼴泛使⽤的情景。(3)实践中医院案例的指导学习案例的数据源是CDA指导老师所给的“某医院2018年销售的数据.xlsx”,案例要求用python进行的处理有:得出月均消费的次数、客单价、月均消费的金额、消费的趋势、各类药品售出的数量的前10排名。

数据分析基本过程包括:数据的获取、数据的清洗、模型的构建、数据的可视化以及消费的趋势。由数据查看可得知:酒类数据共有6578行7列的数据,但“购药时间”与“社保卡号”这两列却只有6576个数据,但从“商品编码”到“实收金额”这几列都只有6577个数据,这也就是说,数据中存在一部分缺失值。知道存在缺失值后,这些缺失数据就需要在后序步骤等着做进一步的处理了。在最初的数据清洗过程中,包括:子集的选择、缺失数据的处理、列名的重命名、数据类型的转换等等。子集的选择,通常获取的真实统计数据都十分庞大,所以我们要从中提取主要的、关键的数据,这就需要从数据中选取恰当的子集来忽略无效的数据。但在本例中因为数据列还比较少,所以暂时不需要选取子集。缺失数据的处理,我们常使用的方式是删除缺失项,但如果缺失项多的话,那就只能补全缺失数据继续使用。在本次案例中缺失项的数量并不多,所以可以直接使用dropna函数来删除缺失数据项。数据类型的转换,在导入数据时,为了防止导入的数据类型出错或干脆导入不进来,我们会强制所有数据类型统一为object类型,但是数据分析过程中,“应收金额”,“销售数量”等数据为了后期的统计运算,是需要使用浮点型数据类型的;而“销售时间”则需要根据要求改成时间格式。本例中可以通过astype()函数将数据转为浮点型数据;而时间类型相对比较难转化,例如“销售时间”这数据项中存在“星期”这样的数据,但是在数据分析过程中不需要用到它,那么就可以把“销售时间”列中的“日期”与“星期”通过split函数进行分割,分割后的时间类型,返回Series数据类型。所需要的数据项清洗完成后,就需要利用这些数据来构建模型,也就是根据具体的业务要求来计算相应的业务指标,并直接的通过图片或数字结果来展示结果。2.实践学习中的数据范畴本数据以excel保存,来源:天猫商场,类型:不同品牌白酒销售数据。3.数据的分析要点(1)根据要求仔细观察数据,并挑选数据中的关键变量,并分析变量之间的对于数据分析的关系;(2)务必对缺失值进行填充,进行数据整合等预处理;(3)不要浪费有用的数据项,充分利用不同列的数据项,从不同角度下手对不同品牌进行对比分析,提出自己的问题,找到自己的数据分析答案。4.数据分析的流程(1)数据的需求分析(2)收集重要数据(3)数据的清洗与整理(4)根据要求对数据探索(5)要求对应的数据结果展示三、实践过程1.收集数据(1)数据的读取importpandasaspdalcoh=pd.read_excel('酒类销售数据.xlsx',dtype='str')通过代码读取文件“酒类销售数据”,并将数据保存为对象alcoh。(2)数据的查看alcoh.columns#查看数据列名alcoh.count()#查看数据缺失情况()#查看各列数据类型alcoh.head()#前5行数据查看2.数据的清洗(1)缺失值的处理alcoh.drop(columns=['商品ID','促销活动','广告词'],inplace=True)删除对分析无用的数据项(列)商品名规格处理alcoh['酒精度']=alcoh.商品名称.str.extract('(\d{2})度',expand=False)alcohol['香型']=alcoh.商品名称.str.extract('(.{2}型)')alcoh.rename(columns={'价格(元)':'价格'},inplace=True)alcoh.rename(columns={'近30天销量(件)':'月销量'},inplace=True)根据数据分析要求,提取商品名称中的酒精度数、香型为单独一列数据类型的转换alcoh['价格']=alcoh['价格'].astype('float')alcoh['月销量']=alcoh['月销量'].astype('float')alcoh['评论数']=alcoh['评论数'].astype('float')alcoh['酒精度']=alcoh['酒精度'].astype('float')alcoh.loc[:,'日期']=pd.to_datetime(alcoh.loc[:,'日期'],format='%Y-%m-%d',errors='coerce')alcohol.dtypes日期转化为时间格式、价格、评论数、酒精度、销量转化为浮点型3.数据整理(1)数据排序alcoh=alcoh.sort_values(by='日期',ascending=True)#按日期进行升序排序alcoh=alcoh.reset_index(drop=True)#重置索引(index)alcoh.head()数据分类pd.cut(alcoh.价格,3)#按自定义将酒类价格分为“中、低、高档”alcoh.价格.min()alcoh.价格.max()alcoh['级别']=pd.cut(alcoh.价格,[9.899,624.672,1259.243,1883.917],False,labels=['低档','中档','高档'])4.数据探索(1)销售数量最多的前十品牌top_alcoh=re_alcoh.iloc[:10,:]#截取销售数量最多的前十品牌print(top_alcoh)#用条形图展示销售数量前十的药品top_alcoh.plot(kind='bar')plt.title('酒类销售前十情况')plt.xlabel('酒类')plt.ylabel('销售数量')plt.legend(loc=0)plt.savefig('alcoh.png')plt.show()(2)销售金额最多的前十品牌Groupalcoh=alcoh#不同品牌酒类的月均销售金额排序#聚合统计各种酒类的销售数量alcoh=groupalcoh[['品牌','总销售额']]bk=alcoh.groupby('品牌')[['总销售额']]re_alcoh=bk.sum()#对酒类销售数量按降序排序re_alcoh=re_alcoh.sort_values(by='总销售额',ascending=False)re_alcoh=re_alcoh.head(10)re_alcoh.plot(kind='bar',color='b',grid=True,alpha=0.5,title="酒类品牌月均销售金额前十")(3)评论数最多的品牌排序(最热门品牌)Groupalcoh=alcoh#评论数最多的品牌排序――最热门品牌#聚合统计各种酒类的评论数数量alcoh=groupalcoh[['品牌','评论数']]bk=alcoh.groupby('品牌')[['评论数']]re_alcoh=bk.sum()#对酒类评论数数量按降序排序re_alcoh=re_alcohol.sort_values(by='评论数',ascending=False)re_alcoh=re_alcohol.head(10)re_alcoh.plot(kind='bar',color='g',grid=True,alpha=0.5,title="最热门的酒类前十")(4)低中高档品牌中卖的最好的前十品牌alcoh['级别']=pd.cut(alcoh.价格,[9.899,624,2580,11512.8],False,labels=['低档','中档','高档'])typeliq=alcoh#中低高档品牌中买的最好的前10个品牌light=typeliq[typeliq.级别=='低档']mid=typeliq[typeliq.级别=='中档']height=typeliq[typeliq.级别=='高档']light=light.groupby('品牌')[['近30天销量']].sum().sort_values(by='近30天销量',ascending=False).head(10)mid=mid.groupby('品牌')[['近30天销量']].sum().sort_values(by='近30天销量',ascending=False).head(10)height=height.groupby('品牌')[['近30天销量']].sum().sort_values(by='近30天销量',ascending=False).head(10)light.plot(kind='barh',color='g',grid=True,alpha=0.5,title="低档酒销量排行")mid.plot(kind='barh',color='b',grid=True,alpha=0.5,title="中档酒销量排行")height.plot(kind='barh',color='r',grid=True,alpha=0.5,title="高档酒销量排行")(4)低中高档品牌的销售情况importmatplotlib.pyplotasplt#描绘品牌按档次不同销售的情况plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签plt.axis('equal')#保证长宽相等labels=['低档','中档','高档']sizes=[7672,513,157]explode=(0.1,0.1,0.1)colors=['r','g','b']#plt.legend(loc="upperright",bbox_to_anchor=(1.1,1.05),borderaxespad=0.3)plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',colors=colors,shadow=True)plt.title("饼图-不同档次的销量比")plt.show()4.数据展示数据分析酒类市场=1\*GB3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论