import pandas as pd 
pd.set_option('display.width',None)
pd.set_option('display.max_columns',None)

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

df['R_Quartile'] = pd.qcut(df['recency'],[0,0.25,0.5,0.75,1],labels=[4,3,2,1]).astype("int")
df['F_Quartile'] = pd.qcut(df['frequency'],[0,0.25,0.5,0.75,1],labels=[1,2,3,4]).astype("int")
df['M_Quartile'] = pd.qcut(df['monetary'],[0,0.25,0.5,0.75,1],labels=[1,2,3,4]).astype("int")

print(df.head(5))

注意:qcut输出的dtype是category格式的,而标准结果要求是int,需要用astype进行格式转换