2015-05-24 5 views
5

द्वारा पांडस रैंक मेरे पास एक डेटाफ्रेम है जिसमें नीलामी आईडी और बोली की कीमतें हैं। dataframe नीलामी आईडी (आरोही) और बोली मूल्य के अनुसार क्रमबद्ध है (उतरते):कॉलम मूल्य

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 

उत्तर

16

यहाँ एक ही रास्ता पांडा-तरह से यह करने के लिए है

आप Auction_ID पर GroupBy और ascending=False

साथ Bid_Price पर rank() ले सकता है
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 
संबंधित मुद्दे