# 导入Pandas库
import pandas as pd

# 从CSV文件中读取销售数据
data = pd.read_csv('sales.csv')

# 计算R、F、M分位数并将结果转换为字符串类型
recenct_rank = pd.qcut(data['recency'], [0, 0.25, 0.5, 0.75, 1], labels=['4', '3', '2', '1']).astype('str')
frequency_rank = pd.qcut(data['frequency'], [0, 0.25, 0.5, 0.75, 1], labels=['1', '2', '3', '4']).astype('str')
monetary_rank = pd.qcut(data['monetary'], [0, 0.25, 0.5, 0.75, 1], labels=['1', '2', '3', '4']).astype('str')

# 创建一个新的列'RFMClass',将R、F、M的字符串等级拼接到一起
data['RFMClass'] = recenct_rank + frequency_rank + monetary_rank

# 打印数据的前几行
print(data.head())
print()

# 找到RFM等级为'444'的记录,按照'monetary'列降序排列并打印前几行结果
print(data[data['RFMClass'] == '444'].sort_values('monetary', ascending=False, ignore_index=True).head())