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

某店铺用户消费特征评分

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))

全部评论

相关推荐

07-24 13:43
门头沟学院 Java
longerluck...:我猜说的是“你真**是个天才”
投递美团等公司10个岗位
点赞 评论 收藏
分享
allin秋招的单身...:我投过这家 上来就发个设计图给我,让我做好发到他邮箱
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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