Вот мой фрейм данных:
my_df = pd.DataFrame({'group':['a','a', 'a','b','b'], 'date':['2017-01-02', '2017-01-02','2017-03-01', '2018-02-05', '2018-04-06']})
my_df['date']= pd.to_datetime(my_df['date'], format = '%Y-%m-%d')
Я хотел бы добавить ранг для группы, где одинаковым значениям будет присвоен одинаковый ранг.
Вот что я хотел бы получить в качестве вывода:
date group rank
0 2017-01-02 a 1
1 2017-01-02 a 1
2 2017-03-01 a 2
3 2018-02-05 b 1
4 2018-04-06 b 2
Я думаю, что я могу сделать это, сгруппировавшись дважды, ранжировать и вернуться к исходному фрейму данных, но мне интересно, есть ли более быстрый способсделать это.