题解 | #筛选某店铺最有价值用户中消费最多前5名#
筛选某店铺最有价值用户中消费最多前5名
https://www.nowcoder.com/practice/58655010a7c34e9fb2b7b491c3f79ca4
import pandas as pd
sales = pd.read_csv("sales.csv")
pd.set_option('display.width',300)
pd.set_option('display.max_rows',None)
pd.set_option('display.max_columns',None)
#cut:按照数值进行分割,等间隔;qcut:按照数据分布进行分割,等频率
R=pd.qcut(sales.recency,4,["4", "3", "2", "1"]).astype('str')
F=pd.qcut(sales.frequency,4,["1", "2", "3", "4"]).astype('str')
M=pd.qcut(sales.monetary,4,["4", "3", "2", "1"]).astype('str')
# 合并RFM
sales['RFMClass'] =R+F+M
print(sales.head(5))
print("\n")
print(sales[sales['RFMClass']=='444'].sort_values(by='monetary',ascending=False).reset_index(drop=True).head())
