题解 | #筛选某店铺最有价值用户中消费最多前5名#
筛选某店铺最有价值用户中消费最多前5名
https://www.nowcoder.com/practice/58655010a7c34e9fb2b7b491c3f79ca4
import sys
for line in sys.stdin:
a = line.split()
print(int(a[0]) + int(a[1]))
import pandas as pd
df=pd.read_csv('sales.csv')
#计算RFM值
df['R_Quartile']=pd.qcut(df['recency'],4,['4','3','2','1']).astype('str')
df['F_Quartile'] = pd.qcut(df['frequency'],4,["1", "2", "3", "4"]).astype("str")
df['M_Quartile'] = pd.qcut(df['monetary'],4,["1", "2", "3", "4"]).astype("str")
df['RFMClass']=df['R_Quartile']+df['F_Quartile']+df['M_Quartile'] #字符串拼接
#或者
'''
df['rec_score'] = pd.qcut(df['recency'],[0,0.25,0.5,0.75,1],labels=['4','3','2','1']).astype('str')
df['fre_score'] = pd.qcut(df['frequency'],[0,0.25,0.5,0.75,1],labels=['1','2','3','4']).astype('str')
df['mon_score'] = pd.qcut(df['monetary'],[0,0.25,0.5,0.75,1],labels=['1','2','3','4']).astype('str')
'''
a=df[['user_id','recency','frequency','monetary','RFMClass']] #取出这几列
print(a.head().reset_index(drop=True)) #取前5行,重置索引,删掉原索引形成的数据
print('\n') #空行
print(a[a['RFMClass']=='444'].sort_values('monetary',ascending=False).head().reset_index(drop=True))
海康威视公司福利 1179人发布
查看12道真题和解析