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

下载本文档

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

文档简介

酒类销售数据分析项目一、实践目的1.实践背景近几年年,大数据一词越来越多地被提及,象征着信息大爆炸时代的来临。数据正在迅速膨胀并变大,它决定着社会的未来发展。虽然很多企业一开始可能并没有意识到数据爆炸性增长意味着什么,但是随着时间的推移,人们将越来越多的意识到数据对企业的重要性。《纽约时报》2012年的一篇专栏中提到,“大数据”时代已经降临,在商业、经济及其他领域中,决策将日益基于数据和分析而作出,而并非基于各种经验和直觉。哈佛大学社会学教授加里·金说:“这是一场革命,庞大的数据资源使得各个领域开始了量化进程,无论学术界、商界还是政府,所有领域都将开始这种进程。”2.实践目的随着IT行业的发展,IT技术已经不像以前那样简单了,我们学习计算机相关专业的学生找工作也是越来越难,所以学习大数据的分析对我们来说更新掌握一种学校学不到的技术,在往后的求职过程中也会有所帮助。对于个人来说:学习大数据技术,可以接触到很多算法,这些算法往往是通用的,可以为转型人工智能相关热点方向做准备。数据的价值越来越被企业所重视,基于数据的分析、基于数据的运营、基于数据的决策成为了现代企业的必然选择,而数据本身也变得越来越庞大、处理过程越来越复杂,在这种背景下,大数据技术成为了行业的必然的选择,成为了IT技术中的一大基石。

二、实践内容此次的实训历时一个月,我们主要学习了python的数据分析。在一开始因为对这一门新语言的不了解,针对性的讲了一下python的基础语法以及在后面数据分析时需要掌握的技能,为后期的数据分析任务做了充足的的准备。在实训中期重点讲了数据清洗、数据可视化以及机器学习模型。数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和\o"缺失值"缺失值等。一致性(consistencycheck)是检查每个\o"变量"变量合适的取值范围,检查数据是否符合要求,发现超出正常范围、逻辑上不合理的\o"数据"数据。无效值和缺失值是指数据中可能存在一些无效值和缺失值,需要给予合适的处理。常用的处理方法有:估算,整例删除,变量删除和成对删除。数据可视化主要指在借助于数据图形化,清晰有效地表达想要传递的信息。它被定义为一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。机器学习的研究来源于⼈⼯智能领域,但是机器学习的⽅法却应⽤于数据科学领域,因此我们将机器学习看作是⼀种数学建模更合适。机器学习的本质就是借助数学模型理解数据。当我们给模型装上可以适应观测数据的可调参数时,“学习”就开始了;此时的程序被认为有从数据中“学习”的能⼒。⼀旦模型可以拟合旧的观测数据,那么它们就可以预测并解释新的观测数据。在后期我们开展了大型的综合案例预测,对于案例中的数据进行清洗,可视化等人为的预估案例以后的销售情况。三、实践过程数据分析的目数据分析是指用合适的统计分析方法对收集来的大量数据进行分析和预测,提取有用的信息和形成结论而对数据加以详细概括总结的过程。这一过程也是质量管理体系的支持过程。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。数据分析是数学与计算机科学相结合的产物。数据分析基本过程数据分析基本过程包括:获取数据、数据清洗、构建模型、数据可视化以及消费趋势。获取数据是数据分析的前提条件,拿到数据我们首先要将数据导入才能继续下一步的操作。数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和\o"缺失值"缺失值等。构建模型是机器学习的一大要素,它和策略、算法共称为机器学习的三大要素。模型、策略、算法的确定意味着机器学习的⽅法的确定。数据可视化图表是可视化技术在非空间数据领域的应用,使人们不再局限于通过数据和表格来了解和分析数据信息,而能用更直观的方式看到数据和其关系,清晰而明确地展示数据分析的结果,提供更好的用户体验。消费趋势建立在以上的四个部分基础之上才能更好的分析消费的趋势,才能给出建议。采集数据读取数据importpandasaspddf=pd.read_excel('酒类销售数据.xlsx',dtype='str')查看数据df.shape统计出来总共有8141行9列数据查看数据字段df.columns统计字段的缺失情况df.count()总共有8141行9列数据,但是“价格(元)”、“广告词”、“促销活动”、“评论数”这四列的数据都不够8141行,这就意味着数据中存在缺失值,这些缺失数据在后面步骤中需要进一步处理。数据清洗选择子集在我们获取到的数据中,可能数据量非常庞大,并不是每一列都有价值都需要分析,这时候就需要从整个数据中选取合适的子集进行分析,这样能从数据中获取最大价值。在本次案例中不需要选取子集,暂时可以忽略这一步。列名重命名在数据分析过程中,有些列名和数据容易混淆或产生歧义,不利于数据分析,这时候需要把列名换成容易理解的名称,可以采用rename函数实现:使用rename函数,把"近30天销量(件)"改为"上个月销售量“df.rename(columns={'近30天销量(件)':'上个月销售量'},inplace=True)缺失值处理获取的数据中很有可能存在缺失值,如果不处理这些缺失值会干扰后面的数据分析结果。缺失数据常用的处理方式为删除含有缺失数据的记录。print('删除缺失值前:',df.shape)()df=df.dropna(subset=['价格(元)','广告词','促销活动','评论数'],how='any')print('\n删除缺失值后:',df.shape)()数据类型转换在导入数据时为了防止导入不进来,会强制所有数据都是object类型,但实际数据分析过程中有些列的数据需要浮点型(float)数据,有些数据需要改成整型(int)数据,“日期”需要改成时间格式,因此需要对数据类型进行转换。df['价格(元)']=df['价格(元)'].astype('float')df['上个月销售量']=df['上个月销售量'].astype('int64')df['评论数']=df['评论数'].astype('int64')df.dtypes去除日期数据中的时分秒defsplitSaletime(timeColser):timelist=[]forvalintimeColser:data=val.split('')[0]timelist.append(data)timeSer=pd.Series(timelist)returntimeSertime=df.loc[:,'日期']data=splitSaletime(time)df.loc[:,'日期']=datadf.head()(5)日期数据转为类型字符串转日期errors='coerce'如果原始数据不符合日期的格式,转换后的值为NaTdf.loc[:,'日期']=pd.to_datetime(df.loc[:,'日期 '],format='%Y-%m-%d',errors='coerce')df.dtypes(6)删除存在缺失值的行转换日期过程中不符合日期格式的数值会被转换为空值Nonedf=df.dropna(subset=['价格(元)','广告词','促销活动','评论数'],how='any')(7)数据排序此时时间是没有按顺序排列的,所以还是需要排序一下,排序之后索引会被打乱,所以也需要重置一下索引。其中by:表示按哪一列进行排序,ascending=True表示升序排列,ascending=False表示降序排列:按销售时间进行降序排序df=df.sort_values(by='上个月销售量',ascending=False)df.head()(8)重置排序时被打乱的索引df=df.reset_index(drop=True)df.head()(9)查看数据的描述统计信息df.describe()构建模型及数据可视化数据清洗完成后,需要利用数据构建模型(就是计算相应的业务指标),并用可视化的方式呈现结果。每种酒每天均销售的瓶数kpi1_Df=df.drop_duplicates(subset=['商品名称'])totalI=kpi1_Df.shape[0]print('酒种类=',totalI)Sales=kpi1_Df.loc[:,['商品名称','价格(元)','上个月销售量']]Sales_matrix=Sales.as_matrix()foriinrange(len(Sales_matrix)):print('%-50s%-10s%-10d'%(Sales_matrix[i][0],'日均销售瓶数:',Sales_matrix[i][2]/30))每种酒每天平均消费金额foriinrange(len(Sales_matrix)):print('%-50s%-10s%-10.2f'%(Sales_matrix[i][0],'日均消费金额:',Sales_matrix[i][2]/30*Sales_matrix[i][1]))消费趋势importmatplotlib.pyplotaspltimportmatplotlibfrompylabimportmplmpl.rcParams['font.sans-serif']=['SimHei']groupDf=dfgroupDf.index=groupDf['日期']groupDf.head()gb=groupDf.groupby(groupDf.index.day)print(gb)dayDf=gb.sum()print(dayDf)描绘每天的消费金额图plt.plot(dayDf['价格(元)'])plt.title('按天消费金额图')plt.xlabel('天')plt.ylabel('价格(元)')plt.savefig('dayDf.png')plt.show()酒类销售数量前十的品牌top_Wine=re_Wine.iloc[:10,:]print(top_Wine)(8)条形图展示销售数量前十的酒top_Wine.plot(kind='bar')plt.title('酒品销售前十情况')plt.xlabel('酒品种类')plt.ylabel('上个月销售量')plt.legend(loc=0)plt.savefig('Wine.png')plt.show()实践体会持续了一个月的实训也结束了,现在的自己和一个月之前的自己相比也是掌握了更多的关于计算机的知识,确切的说应该是关于数据分析的知识。和以前学过的C语言、C++,jave来说,Python的核心是简洁直接清晰,Python认为最好的方式只有一种,它也只呈现那最好的一面。Python底层的源代码其实可以理解为C语言的一些常用功能的库,Python进程就是加载了C库然后读取配置文件执行相应的代码。相同的功能,Python进行了一次转义,肯定会比直接用C要慢,但你不一定能这么快的写出这样运行比Python快的C代码。这是我学习完python之后的第一印象。在没有了解python以前,一直用的是C/C++来写自己的东西,觉得C和C++没有什么是不可能的。但是在这一个月接触python以来,觉得C/C++还是太慢了,python自己分装的函数总会给你意想不到的结果。其实python基础的语法和函数之类的都和C/C++没有太大的区别,例如输入、输出、变量类型,自定义函数之类的。但是python在大数据处理这块却有着C/C++望尘莫及的方便,和R语言处理数据有很大的相似之处。Python和R语言的数据结构基本上相同,例如,列表、矩阵、数据框这些。在处理数据这块更是有着惊人的相似,它们都会重编码某些值为缺失值或者在分析中排除缺失值;除了重编码还会进行类型转换,例如将如期转换为字符型变量等等。这让本就对R语言感兴趣的我产生了极大的兴趣。在一开始导入数据之前,我们需要明白每一个数据的字段含义,初始数据越多,我们前期的工作量越大,你需要理解的东西也就越多,在后期你才可以更加快速的处理数据。导入数据之后,我们需要选取合适的数据结构来保存数据,以便于能更快的处理数据;后期数据处理的快慢取决于我们用到的数据结构和算法,可见数据结构的重要性。接下来处理就该梳理数据了,处理数据最重要的一点就是细心细心在细心,谨慎谨慎在谨慎,如果处理失误,就需要重新处理,这是一件很麻烦的事情。数据可视化图表是可视化技术在非空间数据领域的应用,使人们不再局限于通过数据表格来观察和分析数据信息,而能以更直观的方式看到数据及其关系,清晰而明确地展示数据分析的结果,提供更好的用户体验。简单的说就是用户不用在通过枯燥无味的数据来了解数据,而是通过简洁明了的图形来了解数据。构建模型和可视化的时候,大概是我们最觉得有成就感的时候,不管前期做多少铺垫,在这一环节才是出最重要的时候,这要这一步绘制处的图和模型正确,我们的预测就会正确,才不会辜负这次所有的努力。到这一步,大数据的处理也就基本完成了。总的来说还是对这次的实训比较满意的,不仅仅是因为这次的酒类大数据分

温馨提示

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

评论

0/150

提交评论