Pandas рейтинг по столбцу

У меня есть блок данных, в котором есть идентификаторы аукционов и цены предложения. Информационный кадр сортируется по идентификатору аукциона (по возрастанию) и цене предложения (по убыванию):

Auction_ID    Bid_Price
123           9
123           7
123           6
123           2
124           3
124           2
124           1
125           1

Я бы хотел добавить столбец под названием "Auction_Rank", который оценивает идентификатор аукциона по цене предложения:

Auction_ID    Bid_Price    Auction_Rank
123           9            1
123           7            2
123           6            3
123           2            4
124           3            1
124           2            2
124           1            3
125           1            1

Ответ 1

Вот один из способов сделать это в Pandas-way

Вы можете groupby по Auction_ID и получать rank() для Bid_Price с ascending=False

In [68]: df['Auction_Rank'] = df.groupby('Auction_ID')['Bid_Price'].rank(ascending=False)

In [69]: df
Out[69]:
   Auction_ID  Bid_Price  Auction_Rank
0         123          9             1
1         123          7             2
2         123          6             3
3         123          2             4
4         124          3             1
5         124          2             2
6         124          1             3
7         125          1             1