基于python分析電商用戶行為(附代碼)

一.分析背景與目的

1.1背景與數(shù)據(jù)限制

本數(shù)據(jù)集為某電商app中的用戶行為,本分析案例通過:時間-用戶-商品-行為四個維度來分析用戶的數(shù)量,粘性和購買轉(zhuǎn)化率。本案例使用的數(shù)據(jù)集為9天內(nèi)(11月25日-12月3日的數(shù)據(jù))的數(shù)據(jù)。商品名稱數(shù)據(jù)經(jīng)脫敏,行為數(shù)據(jù)只有4種,分別是訪問商品詳情頁-加入收藏-加入購物車-購買。

1.2分析指標(biāo)

1)流量指標(biāo):
訪問數(shù):當(dāng)日的商品詳情頁訪問數(shù)
日用戶數(shù):當(dāng)日訪問的用戶數(shù)(去重后)
活躍用戶數(shù):當(dāng)日產(chǎn)生超過2次行為數(shù)據(jù)的用戶數(shù)
交易用戶數(shù):當(dāng)日有購買行為數(shù)據(jù)的用戶數(shù)(去重后)

2)用戶屬性指標(biāo):
活躍用戶比例:日活躍用戶/日用戶數(shù)
交易用戶比例:日交易用戶數(shù)/日用戶數(shù)
用戶日均行為數(shù):日訪問數(shù)/日用戶數(shù)
用戶活躍天數(shù):統(tǒng)計周期內(nèi),用戶有多少天活躍

3)轉(zhuǎn)化指標(biāo):
購買轉(zhuǎn)化率:各類型用戶購買轉(zhuǎn)化率

4)用戶價值指標(biāo)(RFM模型):
R:用戶最近的一次購買時間
F:用戶最近一段時間的購買頻率
M:用戶最近一段時間的購買金額

1.3 分析用戶行為的目的

1)監(jiān)控周期內(nèi)是否業(yè)務(wù)發(fā)生數(shù)據(jù)異常;
2)對用戶轉(zhuǎn)化路徑進行分類,將用戶導(dǎo)向高轉(zhuǎn)化路徑,挖掘業(yè)務(wù)增長點;
3)分析商品數(shù)據(jù),增強商品推薦導(dǎo)流成功率;
4)對用戶類型進行分類,針對不同用戶實現(xiàn)不同的運營策略。

二.?dāng)?shù)據(jù)集理解

user_id: int類型,用戶id
item_id: int類型,商品id
category_id: int類型,商品大類id
behaviour_type:用戶行為,分成四類:
1)pv:商品詳情頁pv,等價于點擊
2)buy:商品購買
3)fav:商品收藏
4)cart:商品加入購物車
timestamp:行為發(fā)生時的時間戳

三.?dāng)?shù)據(jù)清洗

操作:去除有缺失值的行,去除重復(fù)值,將timestamp轉(zhuǎn)化成datetime,并篩選出11月25日至12月3日的數(shù)據(jù)。
結(jié)論:數(shù)據(jù)及較為干凈,被篩掉的數(shù)據(jù)約有5k+。

四.?dāng)?shù)據(jù)分析

4.1基本指標(biāo)分析

4.1.1應(yīng)用流量

4.1.2應(yīng)用用戶屬性

4.1.3用戶活躍天數(shù)分布

4.1.4小結(jié)

1)應(yīng)用的日均用戶較為穩(wěn)定,曲線從12月2日起大幅上升,推測原因雙12系列活動的預(yù)熱開始;
2)日均活躍用戶比例:79%,日均購買用戶比例:19%,推測均為是標(biāo)準(zhǔn)差較小的正態(tài)分布,后續(xù)可以以該比例作為期望值監(jiān)控業(yè)務(wù)是否正常進行;
3)12月2至3日用戶數(shù)上升了32.3%,活躍比例和購買比例分別下降了3.2%和6.7%,說明雙12系列活動只提高了用戶的“量”,并沒有提高被引流的用戶的“質(zhì)”。
4)超過90%的用戶9天內(nèi)活躍超過2天。

4.2用戶行為路徑分析

根據(jù)用戶是否發(fā)生4種行為的其中一種,將“用戶-商品id”分為15個路徑。

4.2.1用戶行為路徑

4.2.2購買轉(zhuǎn)化率

4.2.3小結(jié)

1)用戶路徑總體特征
絕大部分的用戶只訪問了商品詳情頁,但沒有收藏、加購、購買;同一件商品,用戶的收藏行為和加購行為并沒有特別大的聯(lián)系;對有購買意愿的商品,選擇加購的人會比選擇收藏的人要多;
收藏fav行為的轉(zhuǎn)化率為 3.82%;
加入購物車cart行為的轉(zhuǎn)化率為 7.17%;
購買buy行為的轉(zhuǎn)化率為2.51%。

2)用戶路徑占比分析
轉(zhuǎn)化排名TOP4:
①pv-fav-cart(14.94%)
②py-unfav-cart(9.96%)
③py-fav-uncart(8.01%)
④unpy-fav-cart(5.28%)
有收藏和加購行為的用戶購買轉(zhuǎn)化率遠大于其他用戶;
只有收藏和只有購買的用戶轉(zhuǎn)化率不相上下。

3)用戶路徑占比分析
占比排名TOP4:
①pv-unfav-uncart(48.98%)
②pv-unfav-cart(13.48%)
③pv-fav-uncart(4.71%)
④unpv-unfav-cart(4.03%)
大多數(shù)用戶都是訪問了商品后直接購買,由于包含了大量單純?yōu)g覽商品的用戶,此路徑的轉(zhuǎn)化率只有1.39%;
通過購物車購買的用戶數(shù)量為通過收藏購買的用戶的3倍。

4.3用戶行為時間分析

4.3.1用戶活躍時間

4.3.2購買行為時間分布

4.3.3小結(jié)

1)19:00-22:00是訪問高峰期,符合人們的工作休息節(jié)律。每小時購買數(shù)和每小時訪問用戶曲線趨勢基本吻合。20:00-0:00是使用高峰期,用PV/UV大幅度上漲,是平常時段的1.45倍;
2)從購買行為時間分布圖上看,收藏且有購物意愿的用戶,超過95%會在3天內(nèi)購買,加入購物車且有購物意愿的用戶,超過92%會在5天內(nèi)購買。用戶在剛收藏商品或加入購物車后會有一波購買高峰,在加入購物車約20小時后會有另外一波購買小高峰。

4.4用戶行為商品分析

4.4.1 商品大類交易數(shù)占比

數(shù)據(jù)集中商品名稱經(jīng)過脫敏,故只有id


4.4.2商品大類購買行為

分析產(chǎn)生購買行為的數(shù)據(jù)中,一件商品的購買要經(jīng)過多少個行為,大部分購買行為平均只會產(chǎn)生20次以的,對于劃分開的不同用戶行為的商品大類,實施不同的運營策略。


A區(qū)(右上區(qū)域):購買數(shù)大,行為數(shù)大,推測該區(qū)域商品是快消或高頻物品,且品牌選擇多,如服裝、日用品、零食等;

B區(qū)(左上區(qū)域):購買數(shù)大,行為數(shù)少,推測該區(qū)域商品是高頻、明星產(chǎn)品,品牌不多用戶選擇少,或者是有頭部品牌,又或者是品牌建立了一定的依賴度;

C區(qū)(左下區(qū)域):購買數(shù)相對小,行為數(shù)相對小,品類特性需進一步分析;

D區(qū)(右下區(qū)域):購買數(shù)小,行為數(shù)多,推測該區(qū)域商品低頻/貴重,用戶決策謹(jǐn)慎,如手機、電視機等高金額非消耗品。

4.4.3 商品關(guān)聯(lián)性分析

提取數(shù)據(jù)集中各商品大類/商品出現(xiàn)在同一個訂單中的次數(shù),次數(shù)越大,兩種商品大類/商品的關(guān)聯(lián)性越高。


分析小結(jié):
1)總訂單數(shù)為:178673,商品種類大于1的訂單數(shù)為12165,商品大類關(guān)聯(lián)性TOP1只有417次,約占3.4%;商品大類的關(guān)聯(lián)性強于單個商品之間的關(guān)聯(lián)性;
2)總體來說由購買行為計算的商品關(guān)聯(lián)性不低,有一定的分類和推薦價值,但在推薦前需先分析高關(guān)聯(lián)性產(chǎn)品是否已存在關(guān)聯(lián)推薦,需把關(guān)聯(lián)性高但非系統(tǒng)關(guān)聯(lián)推薦的商品信息提取出來。

4.5 用戶價值分析

RFM模型是衡量客戶價值和客戶創(chuàng)利能力的重要工具和手段:
· R(Recency)最近一次消費時間:表示用戶最近一次消費距離現(xiàn)在的時間。消費時間越近的客戶價值越大。1年前消費過的用戶肯定沒有1周前消費過的用戶價值大。
· F(Frequency)消費頻率:消費頻率是指用戶在統(tǒng)計周期內(nèi)購買商品的次數(shù),經(jīng)常購買的用戶也就是熟客,價值肯定比偶爾來一次的客戶價值大。
· M(Monetary)消費金額:消費金額是指用戶在統(tǒng)計周期內(nèi)消費的總金額,體現(xiàn)了消費者為企業(yè)創(chuàng)利的多少,自然是消費越多的用戶價值越大
由于本數(shù)據(jù)集沒有M維度,故只用R維度和F維度對用戶進行打分評級。



五.總結(jié)

5.1 分析總結(jié)

1)該應(yīng)用正常情況下日均用戶訪問數(shù)據(jù)、用戶行為數(shù)、活躍用戶與付費用戶比例穩(wěn)定,超90%在9天內(nèi)活躍天數(shù)超過2天,后續(xù)看繼續(xù)用各指標(biāo)的平均值來作為監(jiān)控業(yè)務(wù)的期望值;

2)大多數(shù)購買的用戶在訪問商品詳情頁后直接購買;有收藏和加購行為的用戶購買轉(zhuǎn)化率遠大于其他用戶;通過購物車購買的用戶是通過收藏購買的用戶數(shù)的3倍。

3)19:00-22:00是用戶訪問高峰期,20:00-0:00是用戶活躍高峰期,收藏且有購物意愿的用戶,超過95%會在3天內(nèi)購買,加入購物車且有購物意愿的用戶,超過92%會在5天內(nèi)購買。用戶在剛收藏商品或加入購物車后會有一波購買高峰,在加入購物車約20小時后會有另外一波購買小高峰。

4)商品大類的關(guān)聯(lián)性強于單個商品之間的關(guān)聯(lián)性,后續(xù)可提高商品大類關(guān)聯(lián)性推薦比重,降低單個商品關(guān)聯(lián)性推薦比重。

5.2業(yè)務(wù)增長建議

5.2.1提升用戶粘性

1)營銷活動、運營手段等建議在19:00-0:00展開,配合用戶訪問和活躍高峰期;

2)考慮為A區(qū)(購買量大、品牌繁多)、D區(qū)(決策過程長)的商品建立專區(qū),并適當(dāng)增加科普推送,輔助用戶決策,提升沉浸度;

3)對于B區(qū)(決策過程短)的商品,應(yīng)著重提升購買效率,如搜索結(jié)果有限顯示/提示曾經(jīng)買過的商品品牌或店鋪、在購買過的訂單中設(shè)置和突出搜索功能;

4)高價值用戶,建立優(yōu)質(zhì)用戶社交社區(qū)/生態(tài),發(fā)放特別福利;重點保持用戶,最近沒有購買,啟動召回機制,發(fā)送消息慰問,店鋪活動提醒,上新提醒等;重點發(fā)展用戶,購買頻率低,需要挖掘顧客特征,作出應(yīng)對手段;重點挽留用戶,最近一次購買時間較遠,購買率低,需制造機會點讓用戶有更多機會體驗/深入使用產(chǎn)品,增強粘性。

5.2.2 提升交易成功率:

1)雙12活動帶來的用戶增長,并沒有維持到日常水平的購買轉(zhuǎn)化率,建議AB TEST用戶需求/定向模型,提升購買轉(zhuǎn)化率;

2)在用戶加購后提示用戶將商品收藏,在用戶收藏商品后提示用戶加購,或針對以上2個時間點加入運營手段激勵用戶進行操作,增加多條購買路徑,提高購買轉(zhuǎn)化率;

3)在用戶瀏覽頁面時間超過一定時長后,提醒用戶將商品加購;

4)在用戶收藏商品3天、加購商品20小時、加購商品5天時提示用戶購買或開展相應(yīng)促銷運營手段;

5)對于關(guān)聯(lián)性高的商品,優(yōu)先向相關(guān)用戶展示/打包促銷。

# -*- coding:utf-8 -*-
import pandas as pd
import numpy as np
import datetime
import matplotlib.pyplot as plt
import seaborn as sns

#解決matplotlib的中文亂碼問題
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False

#1.1.數(shù)據(jù)讀取,文件大小問題,只讀取1000W行
row_data=pd.read_csv(r'D:\UserBehavior.csv',names=['user_id','item_id','category_id','behaviour_type','timestamp'],iterator=True)
data1=row_data.get_chunk(10000000)


#2.數(shù)據(jù)集清洗
#2.1.查看有無缺失值
a=data1.isnull().sum(1)
if a.sum()==0:
    print('本數(shù)據(jù)集無缺失')
else:
    print(a[a>0])

#2.2查看有無重復(fù)值
b=data1.duplicated()
if b.sum()==0:
    print('本數(shù)據(jù)集無重復(fù)值')
else:
    data1.drop_duplicates(inplace=True)

#2.3將時間戳轉(zhuǎn)化為日期,+8hour轉(zhuǎn)化成北京時間,過濾出11-25到12-3的數(shù)據(jù)
data1['time']=pd.to_datetime(data1['timestamp'],unit='s')+datetime.timedelta(hours=8)
data1=data1[(data1.time>'2017-11-25')&(data1.time<'2017-12-4')]


#3.數(shù)據(jù)分析
#3.1.用戶側(cè)核心指標(biāo)
#將date從time里面提取出來
data1=data1.assign(date=data1['time'].map(lambda x:x.strftime('%Y-%m-%d')))

#3.1.1核心指標(biāo)數(shù)量
#日均用戶數(shù)
df_uvpd=data1[['user_id','date']].groupby('date')['user_id'].nunique()
df_uvpd.name='uv'

#日均活躍用戶數(shù)
df_aupd=data1[['user_id','date','behaviour_type']].groupby(['date','user_id']).size()
df_aupd=df_aupd[df_aupd>2]
df_aupd=df_aupd.groupby(level=0).size()
df_aupd.name='active_user'

#日均交易用戶數(shù)
df_bupd=data1[data1['behaviour_type']=='buy']
df_bupd=df_bupd.groupby('date')['user_id'].nunique()
df_bupd.name='buy_user'

#三個指標(biāo)拼接
df311=pd.concat([df_uvpd,df_aupd,df_bupd],axis=1)

#3.1.2核心指標(biāo)比例
#日行為數(shù)
df_pvpd=data1['user_id'].groupby(data1['date']).size()
df_pvpd.name='pv'

#三個指標(biāo)計算
df312=df311.assign(pv_per_user=df_pvpd/df311['uv'],active_user_rate=df311['active_user']/df311['uv'],buy_user_rate=df311['buy_user']/df311['uv'])

#3.1.3用戶活躍天數(shù)
df_user_active_days=data1[['user_id','date','behaviour_type']].groupby(['date','user_id']).size()
df_user_active_days=df_user_active_days[df_user_active_days>2]
df_user_active_days=df_user_active_days.reset_index()
df_user_active_days=df_user_active_days.groupby('user_id')['date'].nunique().value_counts()

#3.2.用戶行為路徑分析
df32=data1[['user_id','item_id','behaviour_type']].drop_duplicates()
df32=df32.assign(type_num=data1['behaviour_type'].map({'pv':1,'fav':2,'cart':4,'buy':8}))
df32=df32.groupby(['user_id','item_id']).sum()
df32=df32.assign(action=df32['type_num'].map({
                                        1:'pv-unfav-uncart-unbuy',
                                        2:'unpv-fav-uncart-unbuy',
                                        3:'pv-fav-uncart-unbuy',
                                        4:'unpv-unfav-cart-unbuy',
                                        5:'pv-unfav-cart-unbuy',
                                        6:'unpv-fav-cart-unbuy',
                                        7:'pv-fav-cart-unbuy',
                                        8:'unpv-unfav-uncart-buy',
                                        9:'pv-unfav-uncart-buy',
                                        10:'unpv-fav-uncart-buy',
                                        11:'pv-fav-uncart-buy',
                                        12:'unpv-unfav-cart-buy',
                                        13:'pv-unfav-cart-buy',
                                        14:'unpv-fav-cart-buy',
                                        15:'pv-fav-cart-buy'
                                    }),
                isbuy=df32['type_num'].map({1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:1,9:1,10:1,11:1,12:1,13:1,14:1,15:1}),
                action_type=df32['type_num'].map({
                                        1:'YNN',
                                        2:'NYN',
                                        3:'YYN',
                                        4:'NNY',
                                        5:'YNY',
                                        6:'NYY',
                                        7:'YYY',
                                        8:'NNN',
                                        9:'YNN',
                                        10:'NYN',
                                        11:'YYN',
                                        12:'NNY',
                                        13:'YNY',
                                        14:'NYY',
                                        15:'YYY'
                }))

df321=df32.groupby('action').size()

#計算各路徑的轉(zhuǎn)化率
#計算每個路徑的總?cè)藬?shù)
user_count=df32.groupby('action_type').size()
user_count.name='user_count'
user_count=user_count.reset_index()
#計算每個路徑訂購的人數(shù)
buyer_count=df32.groupby(['action_type','isbuy']).size()
buyer_count.name='buyer_count'
buyer_count=buyer_count.reset_index()
buyer_count=buyer_count[buyer_count['isbuy']==1]
#連接總?cè)藬?shù)和已訂購的人數(shù),并計算轉(zhuǎn)化率
df322=pd.merge(user_count,buyer_count,on='action_type')
df322['CVR']=df322['buyer_count']/df322['user_count']

#計算各路徑占比
#計算已訂購路徑的總?cè)藬?shù)
buyer_count_total=df322['buyer_count'].sum(axis=0)
#計算出各路徑人數(shù)占比
df322['mix']=df322['buyer_count']/buyer_count_total


#3.3用戶行為時間分析

#3.3.1.計算每小時pv,uv,購買數(shù)
df33=data1.assign(hour=data1['time'].dt.hour)
#計算每小時pv
df33_pv=df33.groupby('hour').size()
df33_pv.name='pv'

#計算每小時uv
df33_uv=df33.groupby('hour')['user_id'].nunique()
df33_uv.name='uv'

#計算每小時交易數(shù)
df33_buy=df33[df33['behaviour_type']=='buy']
df33_buy=df33_buy.groupby('hour').size()
df33_buy.name='buy'

#拼接結(jié)果
df331=pd.concat([df33_pv,df33_uv,df33_buy],axis=1)

#3.3.2.計算fav-buy和cast-buy
#將3種行為抽取并連接
user_buy=data1[data1['behaviour_type']=='buy']
user_fav=data1[data1['behaviour_type']=='fav']
user_cart=data1[data1['behaviour_type']=='cart']
fav_buy=pd.merge(user_fav,user_buy,on=['user_id','item_id'],how='inner',suffixes=('_fav','_buy'))
cart_buy=pd.merge(user_cart,user_buy,on=['user_id','item_id'],how='inner',suffixes=('_cart','_buy'))

#計算fav_buy時間間隔
df332_fav_buy=(fav_buy['time_buy']-fav_buy['time_fav']).map(lambda x:x.days*24+x.seconds/3600)
df332_fav_buy=df332_fav_buy[df332_fav_buy>0]
df332_fav_buy=pd.DataFrame(df332_fav_buy,columns=['value'])
df332_fav_buy['item']='fav_buy'


#計算cart_buy時間間隔
df332_cart_buy=(cart_buy['time_buy']-cart_buy['time_cart']).map(lambda x:x.days*24+x.seconds/3600)
df332_cart_buy=df332_cart_buy[df332_cart_buy>0]
df332_cart_buy=pd.DataFrame(df332_cart_buy,columns=['value'])
df332_cart_buy['item']='cart_buy'

#拼接并弄成小提琴圖
df332=pd.concat([df332_fav_buy,df332_cart_buy],ignore_index=True)

#3.4商品分類分析
df34=data1[data1['behaviour_type']=='buy']

#3.4.1.計算每個商品大類的交易數(shù)量并排名
df341=df34.groupby('category_id').size()
df341.name='category_count'
df341=df341.reset_index()
df341.sort_values(by='category_count',inplace=True,ascending=False)

#3.4.2.計算商品大類的購買數(shù)和平均行為數(shù)的關(guān)系
df342=df34[['user_id','category_id']].drop_duplicates()
df342=pd.merge(df342,data1,on=['user_id','category_id'],how='inner')
df342=df342.groupby('category_id').size()
df342.name='behaviour_num'
df342=df342.reset_index()
df342=pd.merge(df342,df341,on='category_id',how='inner')
df342=df342.assign(avg_behaviour=df342['behaviour_num']/df342['category_count'])

#3.4.3.計算商品大類/個體之間的關(guān)聯(lián)

#計算總訂單數(shù)及每個訂購有多少商品
df_order_count=df34.groupby(['user_id','timestamp']).size()

#篩選出商品個數(shù)超過1個的訂單
df_order_moreone=df_order_count[df_order_count>1]
df_order_moreone=df_order_moreone.reset_index()

#3.4.3.1為每個訂購補充商品大類,并自連接,去除重復(fù)的行
df3431=pd.merge(df_order_moreone[['user_id','timestamp']],data1[['user_id','timestamp','category_id']],on=['user_id','timestamp'],how='inner')
df3431=pd.merge(df3431,df3431,on=['user_id','timestamp'])
df3431=df3431[df3431['category_id_x']>df3431['category_id_y']]

#以商品大類組合groupby,算出關(guān)聯(lián)性最高的TOP50
df3431=df3431.groupby(['category_id_x','category_id_y']).size()
df3431.name='cc_count'
df3431=df3431.reset_index().sort_values(by='cc_count',ascending=False)[:50]

#3.4.3.2為每個訂購補充商品個體,并自連接,去除重復(fù)的行
df3432=pd.merge(df_order_moreone[['user_id','timestamp']],data1[['user_id','timestamp','item_id']],on=['user_id','timestamp'],how='inner')
df3432=pd.merge(df3432,df3432,on=['user_id','timestamp'])
df3432=df3432[df3432['item_id_x']>df3432['item_id_y']]

#以商品個體id組合groupby,算出關(guān)聯(lián)性最高的TOP50
df3432=df3432.groupby(['item_id_x','item_id_y']).size()
df3432.name='ii_count'
df3432=df3432.reset_index().sort_values(by='ii_count',ascending=False)[:50]

#3.5 RFM模型用戶分層
#過濾出有buy行為的用戶
buyer=data1[data1['behaviour_type']=='buy']

#計算每次購買的時間差
buyer_R=buyer.assign(delta=(datetime.datetime(2017,12,4,0,0,0)-buyer['time']).map(lambda x:x.days*24+x.seconds/3600))

#保留每個用戶最新的購買時間
buyer_R.sort_values(by=['user_id','delta'],inplace=True)
buyer_R.drop_duplicates('user_id',keep='first',inplace=True)

#為用戶進行R評級
def delta_change(x):
    if x>0 and x<=24:
        return 5
    elif x>24 and x<=72:
        return 4
    elif x>72 and x<=120:
        return 3
    elif x>120 and x<=168:
        return 2
    elif x>168 and x<=216:
        return 1
    else:
        print('有異常,異常user_id為:%d'%(buyer_R['user_id']))


buyer_R=buyer_R.assign(R_score=buyer_R['delta'].map(delta_change))

#計算用戶購買了多少次東西
buyer_F=buyer.groupby('user_id')[['item_id']].count()
buyer_F=buyer_F.reset_index()

#為用戶進行R評級
def freq_change(x):
    if x>=31:
        return 5
    elif x>20 and x<=30:
        return 4
    elif x>10 and x<=20:
        return 3
    elif x>1 and x<=10:
        return 2
    elif x==1:
        return 1
    else:
        print('有異常,異常user_id為:%d'%(buyer_F['user_id']))


buyer_F=buyer_F.assign(F_score=buyer_F['item_id'].map(freq_change))


#計算R和F的平均分
R_avg=buyer_R['R_score'].mean(axis=0)
F_avg=buyer_F['F_score'].mean(axis=0)


#將2個評分聯(lián)合并為用戶評級
def R_level(x,avg=R_avg):
    if x>=avg:
        return '高'
    else:
        return '低'

def F_level(x,avg=F_avg):
    if x>=avg:
        return '高'
    else:
        return '低'

user_level=pd.merge(buyer_F,buyer_R,on='user_id')
user_level['level_R']=user_level['R_score'].map(R_level)
user_level['level_F']=user_level['F_score'].map(F_level)
user_level=user_level.groupby(['level_R','level_F']).size()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容