我有一个汽车数据集,包括Car_code,customer rent code,Rent Dateas下表:
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'])
df
我需要创建两个新列:
1-按“Car_code”、“customer_rent_code”和“Rent_Date”对表进行排序
2-第一个新列是'Rent_rank',它表示每个客户租赁代码的每辆车的租金等级,因此例如car x,前3个租金将采取等级1,然后第四个将采取等级2
3-第二列是'Rent_rank_per_customer',它表示相同'customer_rent_code'内的租金等级,因此汽车x的值将是(1,2,3,1)
预期结果如下:
3条答案
按热度按时间sg3maiej1#
有2个分组和转换:
2lpgd9682#
你可以试试这个:
sz81bmfz3#