You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于多维度排序为汽车租赁数据集生成两类租赁排名列

汽车租赁数据集排序与排名处理方案

原始数据集构造代码

import pandas as pd
import numpy as np

df = pd.DataFrame([['x','iii-2019-10-16','18/04/2019'],
                   ['x','iii-2019-10-16','21/07/2019'],
                   ['x','iii-2019-10-16','12/09/2019'],
                   ['x','zzz-2020-10-25','12/04/2022'],
                   ['y','qqq-2018-05-28','10/12/2017'], 
                   ['y','qqq-2018-05-28','15/02/2018'],
                   ['y','ooo-2019-11-22','30/05/2019'],
                   ['y','rrr-16-12-2020','16/12/2020'],
                   ['z','ppt-2019-12-03','07/02/2018'],
                   ['z','ttt-2019-12-03','28/05/2019'],
                   ['z','ttt-2019-12-03','09/09/2019'],
                   ['z','ttt-2019-12-03','30/09/2019']
                  ],
                  columns=['Car_code','customer_rent_code','Rent_Date'])

需求实现步骤

1. 按指定字段排序

先把Rent_Date转成日期类型(避免字符串排序逻辑错误),再按Car_code、customer_rent_code、Rent_Date的顺序排序:

# 转换日期列格式
df['Rent_Date'] = pd.to_datetime(df['Rent_Date'], format='%d/%m/%Y')
# 按指定字段排序并重置索引
df_sorted = df.sort_values(by=['Car_code', 'customer_rent_code', 'Rent_Date']).reset_index(drop=True)

2. 新增Rent_rank列(车辆-客户租赁批次排名)

该列表示同一车辆下,不同客户租赁代码的批次序号,同一客户租赁代码对应相同排名:

df_sorted['Rent_rank'] = df_sorted.groupby('Car_code')['customer_rent_code'].transform(
    lambda x: x.factorize()[0] + 1
)
  • 逻辑:在每个车辆分组内,用factorize()对客户租赁代码做编码,相同代码对应同一编码值,加1是让排名从1开始。

3. 新增Rent_rank_per_customer列(客户内租赁顺序排名)

该列表示同一客户租赁代码下,租赁记录的先后顺序排名:

df_sorted['Rent_rank_per_customer'] = df_sorted.groupby('customer_rent_code').cumcount() + 1
  • 逻辑:cumcount()会在每个客户分组内按排序后的顺序生成从0开始的计数,加1后得到从1开始的排名。

最终结果

执行上述代码后,df_sorted的输出如下:

Car_codecustomer_rent_codeRent_DateRent_rankRent_rank_per_customer
xiii-2019-10-162019-04-1811
xiii-2019-10-162019-07-2112
xiii-2019-10-162019-09-1213
xzzz-2020-10-252022-04-1221
yooo-2019-11-222019-05-3011
yqqq-2018-05-282017-12-1021
yqqq-2018-05-282018-02-1522
yrrr-16-12-20202020-12-1631
zppt-2019-12-032018-02-0711
zttt-2019-12-032019-05-2821
zttt-2019-12-032019-09-0922
zttt-2019-12-032019-09-3023

内容的提问来源于stack exchange,提问作者Natali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:52:07