Python基本数据统计分析课件_第1页
Python基本数据统计分析课件_第2页
Python基本数据统计分析课件_第3页
Python基本数据统计分析课件_第4页
Python基本数据统计分析课件_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

1、基本数据统计分析Python数据处理、分析、可视化与数据化运营06第1页,共89页。本章学习目标了解描述性统计分析各个指标的含义掌握交叉对比和趋势分析的基本方法与技巧掌握结构与贡献分析的应用场景以及实现方法重点分组与聚合分析的常用方法掌握相关性分析的主要方法以及如何解读相关性分析结果了解漏斗、路径和归因分析基本概念第2页,共89页。6.1 描述性统计分析使用Excel的DMEO数据准备数据本节所用数据为公用数据,读取excel的demo数据。import pandas as pd # import numpy as np # raw_data = pd.read_excel(demo.xlsx

2、) # print(raw_data.head(3) # 用法示例:第3页,共89页。6.1 描述性统计分析先将province转换为字符串准备数据在字段中的PROVINCE 列本身是分类含义,因此将其转换为字符串类型。用法示例:raw_dataPROVINCE = raw_dataPROVINCE.astype(str)第4页,共89页。6.1 描述性统计分析使用describe查看描述性统计分析信息准备数据用法示例:desc_data = raw_data.describe(include=all).T # 获得所有字段的描述信息desc_datapolar_distance = desc

3、_datamax- desc_datamin # 得到极差(或极距)desc_dataIQR = (desc_data75%-desc_data25%)/2 # 计算四分位差desc_datadays_int = desc_datalast-desc_datafirst # 基于last和first差值计算日期间隔desc_datadtype = raw_data.dtypes # 获取所有列的字段类型desc_dataall_count = raw_data.shape0 # 获取所有列的总记录数量print(desc_data.columns) # 第5页,共89页。6.1 描述性统计分析

4、准备数据使用describe查看描述性统计分析信息第6页,共89页。6.1 描述性统计分析通用描述信息是指对所有数据字段的概要描述通用描述信息print(desc_dataall_count,count,dtype)示例代码:第7页,共89页。6.1 描述性统计分析数值型字段的均值、中位数和四分位数集中性趋势数值型字段的集中性趋势的常用描述指标包括均值、中位数和四分位数(注意:四分位数指的不是一个数)print(desc_data.locAMOUNT,VISITS,25%, 50%, 75%,mean)第8页,共89页。6.1 描述性统计分析非数值型字段的唯一值、众数和频数集中性趋势非数值型包

5、括布尔型、字符串型和日期型三类,数据分析师经常使用唯一值、众数和频数描述集中性趋势。print(desc_data.locDATETIME,PROVINCE,CATE,IS_PRO,unique,top,freq)第9页,共89页。6.1 描述性统计分析数值型字段的标准差、最小值、最大值、极差、四分位差离散性趋势数值型字段的离散趋势经常用标准差、最小值、最大值、极差、四分位差表示print(desc_data.locAMOUNT,VISITS,std,min,max,polar_distance,IQR)第10页,共89页。6.1 描述性统计分析日期型字段的开始日期、结束日期和日期间隔离散性趋

6、势对非数值型字段而言,很少描述其离散性趋势,但日期类字段却拥有自身的特殊性。它拥有自己的开始日期项,并可以基于日期项做一定程度的数值计算print(desc_data.locDATETIME,first,last,days_int)第11页,共89页。6.2 交叉对比和趋势分析对比和趋势是分析事物对象,并得到结论的基本且重要的方法概念有比较才能产生差异,也才有好坏优劣之分基于比较的思维构成了数据分析的基础逻辑对比和趋势分别从横向和纵向两个维度对特定事物做分析第12页,共89页。6.2 交叉对比和趋势分析应用示例交叉对比分析所有广告营销渠道中哪些效果最好全部商品销售中哪些品类卖的多哪些类型的会员

7、活跃度更高第13页,共89页。6.2 交叉对比和趋势分析使用多个指标定量描述事物交叉对比分析在极少数情况下,可以通过单一指标对事物做定量分析和结论判定,例如品类A比品类B在总利润贡献上更好,因此我们可以说品类A比品类B表现更好或更有价值。更多情况下,我们在评估事物好坏时,会使用多个指标从多个角度去定量描述。第14页,共89页。6.2 交叉对比和趋势分析使用多个指标定量描述事物交叉对比分析示例:如何评估渠道质量,评估指标的选择:基本行为指标:平均停留时间、访问深度目标转化指标:目标转化率、订单转化率复购:复购率会员指标:新会员引入量、老会员激活量第15页,共89页。6.2 交叉对比和趋势分析使用

8、多个指标定量描述事物交叉对比分析示例:我们要分析不同的大区,在是否促销上是否有差异性,同时评估指标包括访问量和订单数量raw_data.pivot_table(values=AMOUNT,VISITS,index=CATE,columns=IS_PRO,aggfunc=np.mean)其中:(1)values:分类汇总的计算指标列。(2) index:分类汇总的汇总维度列,要汇总多级维度可以传入列表。(3) columns:基于特定的列名,对指标做汇总计算。(4) aggfunc:分类汇总计算方法,可传入任意有效计算函数或对象。第16页,共89页。6.2 交叉对比和趋势分析交叉对比分析第17页

9、,共89页。6.2 交叉对比和趋势分析使用多个指标定量描述事物交叉趋势分析示例:的数据表现较好。这时使用趋势分析法,分析不同时间周期下的表现raw_dataMONTH = raw_dataDATETIME.map(lambda i: i.month) # 从每个日期中获得month属性得到月份结果overseas_north = raw_dataraw_dataCATE=海外区 # 过滤出仅包含海外区的数据print(overseas_north.pivot_table(values=AMOUNT,VISITS,index=MONTH,columns=IS_PRO,aggfunc=np.mea

10、n) # 建立数据透视表第18页,共89页。6.2 交叉对比和趋势分析交叉趋势分析海外区的VISITS数据表现相对稳定且良好,仅在2/3/4月份较差。海外区的AMOUNT数据表现极不稳定,仅在4/5/9月份表现好,其他时间都低于海外区的整体均值,而最高的几个月份拉高了整个均值。在IS_PRO的作用上,VISITS和AMOUNT都显示出来比较强的随机性,规律不具有完整且一致性,表现为不同月份的贡献表现不一,且变化幅度差异较大。第19页,共89页。6.3 结构与贡献分析结构与贡献分析是对一组数据中不同元素的构成、比例、贡献等方面的分析概念它可以快速获得整体中最主要构成要素信息第20页,共89页。6

11、.3 结构与贡献分析公司最主要的销售商品集中在什么品类上,次要品类是哪些应用示例全站的会员主要从哪些渠道来第21页,共89页。6.3 结构与贡献分析占比分析通过计算不同的元素的比例来评估其贡献度,它是很多深入分析方法的基础占比分析用法示例com_data = raw_data.groupby(PROVINCE,as_index=False).sum() # com_sort = com_data.sort_values(VISITS,ascending=False) # amount_sum = com_sortAMOUNT.sum() # visits_sum = com_sortVISIT

12、S.sum() # com_sortAMOUNT_PER = com_sortAMOUNT/amount_sum # com_sortVISITS_PER = com_sortVISITS/visits_sum # print(com_sort.drop(IS_PRO,MONTH,axis=1).head() # 第22页,共89页。6.3 结构与贡献分析占比分析第23页,共89页。6.3 结构与贡献分析什么是二八法则二八法则分析在经济学、管理学领域有个经典的“二八法则”,也称为80/20定律、帕累托法则,它的基本含义是在任何一组事物中,最重要的只占其中一小部分(比例大概20%),其余80%尽

13、管是多数,却是次要的,因此又称二八定律第24页,共89页。6.3 结构与贡献分析什么是二八法则二八法则分析这个规律在企业经营中也经常出现,例如企业80%的利润都是20%的头部客户贡献,20%的高价值会员贡献了80%的订单等。因此,我们需要重点关注TOP 20%的对象以抓住经营重点。第25页,共89页。6.3 结构与贡献分析用法示例二八法则分析amount_data = com_sort.sort_values(AMOUNT_PER,ascending=False) # amount_dataCUM_AMOUNT_PER = amount_dataAMOUNT_PER.cumsum() # 对a

14、mount_data的AMOUNT_PER列使用cumsum()函数做累计汇总,这样每个后续的AMOUNT_PER记录的值都是之前AMOUNT_PER的汇总print(amount_dataPROVINCE,AMOUNT_PER,CUM_AMOUNT_PER.round(2).head() # 第26页,共89页。6.3 结构与贡献分析用法示例(初始数据结果)二八法则分析第27页,共89页。6.3 结构与贡献分析用法示例二八法则分析amount_data20_80=pd.cut(amount_dataCUM_AMOUNT_PER,bins=0,0.8,1,labels=top20%,other

15、s80%) # 对CUM_AMOUNT_PER做切分,切分的数据边界为0/0.8和1,切分后的数据分别标记为top20%和others80%print(amount_dataPROVINCE,AMOUNT_PER,CUM_AMOUNT_PER,20_80.round(2).head(10) # 第28页,共89页。6.3 结构与贡献分析用法示例(二八法则结果)二八法则分析第29页,共89页。6.3 结构与贡献分析用法示例(二八法则结果)二八法则分析第30页,共89页。6.3 结构与贡献分析什么是ABC分析法 ABC分析法ABC分析法是指按照不同的贡献度,将数据依次分为A、B、C三组,从而确定主

16、要影响因素、次要影响因素和一般影响因素。第31页,共89页。6.3 结构与贡献分析用法示例 ABC分析法amount_dataABC = pd.cut(amount_dataCUM_AMOUNT_PER,bins=0,0.8,0.95,1,labels=list(ABC) # 在自定义边界bins中增加了0.95的边界值,labels标签改为A、B、C三类值print(amount_dataPROVINCE,AMOUNT_PER,CUM_AMOUNT_PER,20_80,ABC.round(2).head(15) # 第32页,共89页。6.3 结构与贡献分析用法示例(ABC分析数据结果) A

17、BC分析法第33页,共89页。6.3 结构与贡献分析什么是长尾分析长尾分析在数据分布中,一般将数据分布集中或突出的区域称为“头”,分布零散或平缓则称为“尾”。长尾分析指的是对分布在数据尾部的零散的、个性化的元素的分析,例如对占比非常小数据的分析就属于长尾分析。长尾理论是对传统的二八法则的颠覆。第34页,共89页。6.3 结构与贡献分析什么是长尾分析长尾分析以订单金额为例,在二八法则中,订单金额最高的TOP 20%的客户群体贡献占据了80%的订单金额贡献。但在长尾理论上却会发现,订单金额最高的TOP 20%的客户群体可能只能贡献30%甚至更少的订单金额,而剩下的80%的客户群体则贡献了更大的70

18、%的订单金额第35页,共89页。6.3 结构与贡献分析什么是长尾分析长尾分析这种场景经常出现在唯一值非常多的场景下例如用户的搜索词分布、访问页面的分布、购买商品的分布等这些场景的特点是每个分类值非常多,且用户的需求比较零散,缺少非常集中的特性。第36页,共89页。6.3 结构与贡献分析用法示例长尾分析visits_data = com_sort.sort_values(VISITS_PER,ascending=False) # visits_dataCUM_VISITS_PER = visits_dataVISITS_PER.cumsum() # 对VISITS_PER列做累加汇总,得到新的C

19、UM_VISITS_PER列print(visits_dataPROVINCE,VISITS_PER,CUM_VISITS_PER.round(2).head() # 第37页,共89页。6.3 结构与贡献分析用法示例(长尾分析结果)长尾分析第38页,共89页。6.3 结构与贡献分析用法示例(长尾分析结果)长尾分析第39页,共89页。6.4 分组与聚合分析什么是分组与聚合分析概念当分析对象属于连续性特征,或虽然属于离散型特征,但是分类较为零散时,可以通过适当的方法将对象聚合起来,形成更粗粒度的分组。例如:基于日期形成不同的月份,然后再对月份做分组便是这种分析思想。第40页,共89页。6.4 分

20、组与聚合分析什么是分位数聚合分析使用分位数聚合分析分位数法是用百分位数来说明偏态分布或分布不清的资料的离散情况的方法。此法可通过pandas的cut方法实现,该方法可对特定数据列,按照指定的分箱数量或边界做聚合第41页,共89页。6.4 分组与聚合分析pd.cut基本用法使用分位数聚合分析pd.cut(x, bins, labels=None, retbins=False)主要参数:(1)x:要做分箱聚合的数据列,必须是1维对象,例如Series或List等。(2)bins:设置如何分箱聚合,如果设置为整数值N,那么按照该数值型用N分位数做分箱;如果设置为由数值组成的列表,则表示按照列表内的边

21、界分箱。(3) labels:分箱后显示的标签,默认的以分箱的边界作为标签,也可以自定义标签。(4) retbins:是否返回分箱结果,在将该分箱结果用于其他数据时常用,可保持分箱原则的一致性。第42页,共89页。6.4 分组与聚合分析用法示例使用分位数聚合分析agg_data = raw_data.copy() # agg_dataQUAN_CUT = pd.cut(agg_dataVISITS,bins=3,labels=list(ABC) # print(agg_dataVISITS,QUAN_CUT.head(72) # 第43页,共89页。6.4 分组与聚合分析用法示例(分位数分组结

22、果)使用分位数聚合分析第44页,共89页。6.4 分组与聚合分析什么是基于均值和标准差的聚合分析基于均值和标准差的聚合分析除了使用分位数法,还可以自己指定分箱聚合的边界在自定义边界时,有多种方法可供选择,例如在二八法则、ABC分析中定义的方式,还可以使用均值和标准差配合定义边界第45页,共89页。6.4 分组与聚合分析visits_desc = agg_dataVISITS.describe() # min_,mean_,std_,max_ = visits_descmin,visits_descmean,visits_descstd,visits_descmax # bins = min_-1,mean_-std_,mean_+std_,max_+1 # 自定义个一个边界,边界值分别为最小值-1,均值-标准差,均值+标准差,最大值+1agg_dataCUST_CUT = pd.cut(agg_dataVISIT

温馨提示

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

评论

0/150

提交评论