Chr*_*ins 23 rank dataframe pandas
我有一个包含拍卖ID和出价的数据框.数据框按拍卖ID(升序)和出价(降序)排序:
Auction_ID Bid_Price
123 9
123 7
123 6
123 2
124 3
124 2
124 1
125 1
Run Code Online (Sandbox Code Playgroud)
我想添加一个名为"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
Run Code Online (Sandbox Code Playgroud)
Zer*_*ero 37
这是在Pandas方式做到这一点的一种方法
你可以分组groupby并Auction_ID继续rank()使用Bid_Price
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44038 次 |
| 最近记录: |