import pandas as pd
df = pd.read_csv("sales.csv", sep=",")
df["R"] = pd.qcut(df["recency"], [0, 0.25, 0.5, 0.75, 1], ["4", "3", "2", "1"])
df["F"] = pd.qcut(df["frequency"], [0, 0.25, 0.5, 0.75, 1], ["1", "2", "3", "4"])
df["M"] = pd.qcut(df["monetary"], [0, 0.25, 0.5, 0.75, 1], ["1", "2", "3", "4"])
df["RFMClass"] = df["R"].astype(str) + df["F"].astype(str) + df["M"].astype(str)
df = df[["user_id","recency","frequency","monetary","RFMClass"]]
print(df.head())
print()
df1 = df[df["RFMClass"]=="444"]
print(df1.sort_values(by="monetary",ascending=False).reset_index(drop=True).head())