2015-05-24 100 views
5

排名我有了拍卖的ID和中标价格数据帧。数据帧被拍卖的ID(升序)和投标价格排序(降序):熊猫柱值

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

我想添加一个名为“Auction_Rank”栏,通过投标价格排名拍卖的ID:

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 

回答

16

这里是做在大熊猫路单向

你可以GROUPBY上Auction_ID,并采取rank()Bid_Priceascending=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