import pandas as pd a = pd.read_csv('sales.csv',sep=',') R = pd.qcut(a['recency'],[0,0.25,0.5,0.75,1.0],['4','3','2','1']).astype('str') F = pd.qcut(a['frequency'],[0,0.25,0.5,0.75,1.0],['1','2','3','4']).astype('str') M = pd.qcut(a['monetary'],[0,0.25,0.5,0.75,1.0],['1','2','3','4']).astype('str') a['RFMClass'] = R+F+M b = a.sort_values(['RFMClass','monetary'],ascending=False) print(a.head(),end='\n\n') print(b.head())