-
第一步:深度思考计算流程; -
第二步:自动生成Python代码; -
第三步:运行Python代码输出结果
"=PY(""#使用RFM分析法对用户进行分类打分排序
# 使用RFM分析法对用户进行分类打分排序
# 计算每个用户的R(最近一次购买时间)、F(购买频率)和M(购买金额)
import datetime as dt
_2_df=xl("表2[[#标题],[#数据]]", headers=True)
# 当前日期
now = dt.datetime.now()
# 计算RFM值
rfm = _2_df.groupby('客户ID').agg({
'订单日期': lambda x: (now - x.max()).days,
'订单ID': 'count',
'销售额': 'sum'
}).reset_index()
# 重命名列
rfm.columns = ['客户ID', 'R', 'F', 'M']
# 对RFM值进行评分
rfm['R_Score'] = pd.qcut(rfm['R'], 5, labels=[5, 4, 3, 2, 1])
rfm['F_Score'] = pd.qcut(rfm['F'], 5, labels=[1, 2, 3, 4, 5])
rfm['M_Score'] = pd.qcut(rfm['M'], 5, labels=[1, 2, 3, 4, 5])
# 计算RFM总分
rfm['RFM_Score'] = rfm[['R_Score', 'F_Score', 'M_Score']].sum(axis=1)
# 按RFM总分排序
rfm = rfm.sort_values('RFM_Score', ascending=False)
# 显示结果
rfm"",1)"
如何快速开始享用Copilot for Microsoft 365?
年初超级优惠活动,扫码添加微信,暗号:copilot
原文始发于微信公众号(AI技术笔记):Python in Excel高级分析:一键RFM分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论