Python的相關分析和RFM分析

2021-09-25 07:35:20 字數 3203 閱讀 7919

#檢視兩列之間的相關度

wa['人口'].corr(wa['文盲率'])

#檢視兩兩之間的相關度

#選擇多列的方法

wa[['人口','平均收入','文盲率','超市購物率','網上購物率']]

wa[['人口','平均收入','文盲率','超市購物率','網上購物率']].corr()

結果為:

#rfm分析

import pandas

import numpy

rfm_data=pandas.read_csv('d://python projects//reference data')

#標準化時間格式

rfm_data['dealdatetime']=pandas.to_datetime(

rfm_data.dealdatetime,

format='%y/%m/%d')

#計算出距最近一次交易天數

rfm_data['datediff']=pandas.to_datetime('today')-rfm_data.dealdatetime

#只取天

rfm_data['datediff']=rfm_data['datediff'].dt.days

#計算每個使用者的最近消費距離、消費頻率、消費總額

r_agg=rfm_data.groupby(

by=['customerid']

)['datediff'].agg()

f_agg=rfm_data.groupby(

by=['customerid']

)['orderid'].agg()

m_agg=rfm_data.groupby(

by=['customerid']

)['sales'].agg()

#將三組資料整合

data_agg=r_agg.join(f_agg).join(m_agg)

#將三組資料進行分組,並賦予1-5分的得分

bins=data_agg.rencentagg.quantile(

q=[0,0.2,0.4,0.6,0.8,1],

interpolation='nearest')

bins[0]=0

labels=[5,4,3,2,1]

r_result=pandas.cut(

data_agg.rencentagg,

bins,

labels=labels)

bins=data_agg.frequencyagg.quantile(

q=[0,0.2,0.4,0.6,0.8,1],

interpolation='nearest')

bins[0]=0

labels=[1,2,3,4,5]

f_result=pandas.cut(

data_agg.frequencyagg,

bins,

labels=labels)

bins=data_agg.moneyagg.quantile(

q=[0,0.2,0.4,0.6,0.8,1],

interpolation='nearest')

bins[0]=0

labels=[1,2,3,4,5]

m_result=pandas.cut(

data_agg.moneyagg,

bins,

labels=labels)

#將rfm值賦值回去原資料表

data_agg['r_result']=r_result

data_agg['f_result']=f_result

data_agg['m_result']=m_result

#將rfm最後分值計算出來

data_agg['rfm']=100*data_agg['r_result'].astype(int)+10*data_agg['f_result'].astype(int)+data_agg['m_result'].astype(int)

#將使用者分為8類

bins=data_agg.rfm.quantile(

q=[0,0.125,0.25,0.375,0.5,0.675,0.75,0.875,1],

interpolation='nearest')

bins[0]=0

labels=[1,2,3,4,5,6,7,8]

data_agg['level']=pandas.cut(

data_agg.rfm,

bins,

labels=labels)

#重置索引

data_agg=data_agg.reset_index()

#檢視每種型別的使用者分類情況

data_agg.sort(

['level','rfm'],

ascending=[1,1])

data_agg.groupby(

by=['level']

)['customerid'].agg()

tableau做rfm分析 RFM模型的搭建

rfm模型能夠清晰的展示出客戶價值與客戶創收能力,基本能使用者許多行業的客戶價值管理。一 對rfm模型進行乙個swot分析評價 1 優勢 客觀 利用客觀的數字尺度,對客戶進行簡明的高水平描述 直觀 展示各個類別客戶及對策,非常直觀。2 劣勢 歷史 站在使用者歷史角度來分析使用者傾向,會偏差 維度 欄...

如何在Python中實現RFM分析

rfm分析是根據客戶活躍程度和交易金額貢獻,進行客戶價值細分的一種方法 可以通過r,f,m三個維度,將客戶劃分為8種型別。rfm分析過程 1.計算rfm各項分值 r s,距離當前日期越近,得分越高,最高5分,最低1分 f s,交易頻率越高,得分越高,最高5分,最低1分 m s,交易金額越高,得分越高...

python相關分析和關聯分析

函式關係 相關分析不具有傳遞性,a和c相關,b和c相關,a和b不一定相關 1.兩兩相關性 有相關係數有p值 correlation for i in car corr weight circle horsepower columns 1.2 僅有p值 from sklearn.feature sel...