题解 | #某店铺用户消费特征评分#

某店铺用户消费特征评分

https://www.nowcoder.com/practice/200c824e9ed4428491c27d65ec56067d

import pandas as pd

df = pd.read_csv("sales.csv")

# 设定规则
q1_recency = df["recency"].quantile(0.25)
median_recency = df["recency"].quantile(0.5)
q3_recency = df["recency"].quantile(0.75)

q1_frequency = df["frequency"].quantile(0.25)
median_frequency = df["frequency"].quantile(0.5)
q3_frequency = df["frequency"].quantile(0.75)

q1_monetary = df["monetary"].quantile(0.25)
median_monetary = df["monetary"].quantile(0.5)
q3_monetary = df["monetary"].quantile(0.75)

# 为 recency 特征评分
def score_recency(value):
    if value <= q1_recency:
        return 4
    elif value <= median_recency:
        return 3
    elif value <= q3_recency:
        return 2
    else:
        1


# 为 frequency 特征评分
def score_frequency(value):
    if value <= q1_frequency:
        return 1
    elif value <= median_frequency:
        return 2
    elif value <= q3_frequency:
        return 3
    else:
        4


# 为 monetary 特征评分
def score_monetary(value):
    if value <= q1_monetary:
        return 1
    elif value <= median_monetary:
        return 2
    elif value <= q3_monetary:
        return 3
    else:
        4

df['R_Quartile'] = df['recency'].apply(score_recency)
df['F_Quartile'] = df['frequency'].apply(score_frequency)
df['M_Quartile'] = df['monetary'].apply(score_monetary)

print(df.head(5))

全部评论

相关推荐

许愿面试顺利的小白很...:你是我在牛客上见过最美的女孩
点赞 评论 收藏
分享
天降大厂offer:想从事前端就放前端的技术栈,然后项目描述,还有项目做了什么内容,使用了什么技术解决了什么问题优化了什么性能。然后头像可以不要,在读也可以不要,还有bg的话就不要放课程,写哪个学校什么本科,还有绩点排名(如果高的话),然后就是技术栈写好一点,接下来就是项目(有实习就写实习,没有就到项目),项目放两个好一点的,自己包装一下,然后有参加什么竞赛放两个就好了,接下来就是靠你自己了,毕竟211还是很难容易找的,不像我们学院本
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务