1、基本統(tǒng)計(jì)
基本統(tǒng)計(jì)分析:描述性統(tǒng)計(jì)分析晃痴,用來(lái)概括事物整體狀況以及事物間聯(lián)系(即事物的基本特征)残吩,以發(fā)現(xiàn)其內(nèi)在規(guī)律的統(tǒng)計(jì)分析方法。
常用的統(tǒng)計(jì)指標(biāo):計(jì)數(shù)倘核、求和泣侮、平均值、方差紧唱、標(biāo)準(zhǔn)差
描述性統(tǒng)計(jì)分析函數(shù):describe()活尊;常用統(tǒng)計(jì)函數(shù)size()計(jì)數(shù),sum()求和漏益,mean()平均值酬凳,var()方差,std()標(biāo)準(zhǔn)差
例如:描述性分析data.score.describe()
,最大值data.score.max()
,平均值data.score.mean()
,方差data.score.var()
累積求和data.score.cumsum()
,最小值所在位置data.score.argmin()
2遭庶、分組分析
分組分析是指根據(jù)分組字段,將分析對(duì)象劃分成不同的部分稠屠,以進(jìn)行對(duì)比分析各組之間的差異性的一種分析方法峦睡。
分組類型主要有兩大類:定性分組翎苫,定量分組,定性分組按事物已有的屬性劃分榨了,如性別煎谍,年齡。定量分組即數(shù)值分組龙屉。
常用的統(tǒng)計(jì)指標(biāo):計(jì)數(shù)呐粘,求和,平均值
分組統(tǒng)計(jì)函數(shù):groupby(by=[分組列])[統(tǒng)計(jì)列].agg({統(tǒng)計(jì)列別名:統(tǒng)計(jì)函數(shù)})
转捕,by用于分組的列作岖,中括號(hào)用于統(tǒng)計(jì)的列,agg統(tǒng)計(jì)別名顯示統(tǒng)計(jì)值的名稱五芝,統(tǒng)計(jì)函數(shù)用于統(tǒng)計(jì)數(shù)據(jù)痘儡。
例如:aggResult = data.groupby( by = ['class'] ) ['score'].agg({ '總分' : numpy.sum, '人數(shù)'.numpy.size, '平均數(shù)'.numpy.mean})
3、分布分析
分不分析是指根據(jù)分析目的枢步,將數(shù)據(jù)(定量數(shù)據(jù))進(jìn)行等距或者不等距的分組沉删,進(jìn)行研究各組分布規(guī)律的一種分析方法。
常用于用戶消費(fèi)分布醉途,收入分布矾瑰,年齡分布等。
先進(jìn)行數(shù)值分組
bins = [min(data.年齡-1,20,30,40,max(data.年齡+1))]
data['年齡分層'] = pandas.cut(data.年齡,bins,labels = labels)
在進(jìn)行分組aggResult = data.groupby(by = ['年齡分層'])['年齡'].agg({'人數(shù)':numpy.size})
百分比的表現(xiàn)形式:
pAggResult = round( aggResult/aggResult.sum(), 2 )*100 pAggResult['人數(shù)'].map('{:,.2f}%'.format)
4隘擎、交叉分析
通常用于分析兩個(gè)或兩個(gè)以上殴穴,分組變量之間的關(guān)系,以交叉表形式進(jìn)行變量間關(guān)系的對(duì)比分析嵌屎。
定量推正、定量分組交叉;定量宝惰、定性分組交叉植榕;定性、定性分組交叉尼夺。
交叉計(jì)數(shù)函數(shù):pivot_table(values,index,columns,aggfunc,fill_value)
尊残,參數(shù)說(shuō)明:
values:數(shù)據(jù)透視表中的值;Index:數(shù)據(jù)透視表中的行淤堵;columns:數(shù)據(jù)透視表中的列寝衫;aggfunc:統(tǒng)計(jì)函數(shù);fill_value:NA值的統(tǒng)一替換拐邪。
例如:ptResult = data.pivot_table(values = ['年齡'],index = ['年齡分層'],columns = ['性別'],aggfunc=[numpy.size])
5慰毅、結(jié)構(gòu)分析
是在分組以及交叉的基礎(chǔ)上,計(jì)算各組成部分所占的比重扎阶,進(jìn)而分析總體的內(nèi)部特征的一種分析方法汹胃。
數(shù)據(jù)庫(kù)的外運(yùn)算:add,sub,multiply,div婶芭,分別是加減乘除;數(shù)據(jù)框的內(nèi)運(yùn)算函數(shù):sum,mean,var,sd分別是求和着饥,平均值犀农,方差,標(biāo)準(zhǔn)差
在上述的交叉分析的基礎(chǔ)上進(jìn)行結(jié)構(gòu)分析:ptResult.sum()
宰掉,ptResult.div(ptResult.sum.(axis = 1),axis = 0)
6呵哨、相關(guān)分析
是研究?jī)蓚€(gè)或兩個(gè)以上速記變量之間相互依存關(guān)系的方向和密切程度的方法。分為線性相關(guān)和非線性相關(guān)轨奄。
線性相關(guān)關(guān)系主要采用皮爾孫相關(guān)系數(shù)r來(lái)度量連續(xù)變量之間線性相關(guān)強(qiáng)度孟害。
相關(guān)分析函數(shù):DataFrame.corr() ,Series.corr()
如果由數(shù)據(jù)框調(diào)用corr方法戚绕,那么將會(huì)計(jì)算每個(gè)列兩兩之間的相似度纹坐;如果由序列調(diào)用corr方法,那么只是計(jì)算該序列與傳入的序列之間的相關(guān)度舞丛。
如data[['超市購(gòu)物率','網(wǎng)上購(gòu)物率','文盲率','人口']]
7耘子、RFM分析
是根據(jù)客戶活躍程度和交易金額貢獻(xiàn),進(jìn)行客戶價(jià)值細(xì)分的一種方法球切。
RFM分析過(guò)程:
1谷誓、計(jì)算RFM各項(xiàng)分值
R_S,距離當(dāng)前日期越近吨凑,得分越高捍歪,最高5分,最低1分
F_S鸵钝,交易頻率越高糙臼,得分越高,最高5分恩商,最低1分
M_S变逃,交易金額越高,得分越高怠堪,最高5分揽乱,最低1分
2、匯總RFM分值
RFM=100R_S+10F_S+1*M_S
3粟矿、根據(jù)RFM分值對(duì)客戶分類
RFM分析前提
1凰棉、最近有過(guò)交易行為的客戶,再次發(fā)生交易的可能性要高于最近沒有交易行為的客戶
2陌粹、交易頻率較高的客戶比交易頻率較低的客戶撒犀,更有可能再次發(fā)生交易行為
3、過(guò)去所有交易總金額較多的客戶,比交易總金額較少的客戶或舞,更有消費(fèi)積極性