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

提交評論