【半夜睡不着还在想】pandas该如何做到 按大小顺序依次替换某一列的值

我有一个dataframe,在日期列中,有不同的日期值,我该怎么给这些日期值按大小顺序替换成从1,2,3依次递增的值?

比如日期列中的值有
2022-05-05
2022-06-06
2022-05-04
2022-05-04
2022-05-02
预期替换成
3
4
2
2
1
(不能自己直接用map关系替换,因为我面对的日期有上万行非连续的工作日,不可能手动编写那么多的map关系(哭))
(我躺在床上想到一个思路,不知道可不可行,把日期列的unique()全部取出来,sort_values排序,然后新建special_tag列依次填入1、2、3... 将这个新df与原df进行merge 再把原日期列删除 将special_tag列重命名为日期列)是否还有更好的办法显得我不那么菜

把那一列的日期去重后排序,然后索引号+1替换到原数据中

>>> pf = pd.DataFrame({'date':['2022-05-05',
    '2022-06-06',
    '2022-05-04',
    '2022-05-04',
    '2022-05-02']})
>>> idx = sorted(list(set(pf['date'].tolist())))
>>> pf['date'] = pf['date'].apply(lambda x:idx.index(x)+1)
>>> pf
   date
0     3
1     4
2     2
3     2
4     1