这是来自《和鲸社区的一个》数据分析实战项目
原始链接为某电子产品销售数据分析报告及RFM模型
自己写的,用来练手
编辑器使用Vscode
这一部分是RFM分析,运行时间过久
from numpy import percentile
import pandas as pd
import matplotlib
import time
import matplotlib.pyplot as plt
#显示所有列
pd.set_option('display.max_columns', None)
#显示所有行
pd.set_option('display.max_rows', None)
#定义plt,绘图字体
matplotlib.rc("font",family='SimHei')
#RFA模型
#R:最近一次消费,Recency
#F:消费频率,Frequency
#A:消费金额,Monetary
start1=time.perf_counter()
path=r'C:\Users\26053\Desktop\论文\Python\project_vscode\data_clean.csv'
data=pd.read_csv(path,index_col=0)
#print(data.head())
#每个用户的消费金额
user_rfm=data.groupby(['user_id','date']).agg(消费金额=('price_cnt','sum')).reset_index()
user_rfm=user_rfm.groupby('user_id').agg(最后购买日期R=('date','max'),F=('date','count'),M=('消费金额','sum')).reset_index()
#print(user_rfm.head())
user_rfm['最后购买日期R']=pd.to_datetime(user_rfm['最后购买日期R'])
user_rfm['R']=user_rfm['最后购买日期R'].apply(lambda x:user_rfm['最后购买日期R'].max