题解 | #筛选某店铺最有价值用户中消费最多前5名#
筛选某店铺最有价值用户中消费最多前5名
https://www.nowcoder.com/practice/58655010a7c34e9fb2b7b491c3f79ca4
import pandas as pd #1-导入数据 data = pd.read_csv('sales.csv') #2-三个特征 data['R'] = pd.qcut(data['recency'], [0, 0.25, 0.5, 0.75, 1], ['4', '3', '2', '1']).astype('str') data['F'] = pd.qcut(data['frequency'], [0, 0.25, 0.5, 0.75, 1], ['1', '2', '3', '4']).astype('str') data['M'] = pd.qcut(data['monetary'], [0, 0.25, 0.5, 0.75, 1], ['1', '2', '3', '4']).astype('str') #3-构建新列 data['RFMClass'] = data['R']+data['F']+data['M'] #4-取子集 df = data[['user_id', 'recency', 'frequency', 'monetary', 'RFMClass']] #5-输出结果一 print(df.head(n = 5)) print('\n') #6-从评分为“444”的用户中筛选销售总金额最高的前5位 df_value = df[df['RFMClass'] == '444'].sort_values('monetary', ascending = False).reset_index() #7-输出结果二 print(df_value.head(n = 5))