gpt4 book ai didi

python - 如何分组、排序然后获取 Pandas 中第二高的行?

转载 作者:太空宇宙 更新时间:2023-11-04 09:56:26 25 4
gpt4 key购买 nike

我想先按ID 对我的数据进行分组,对Offer 列执行降序排序,然后获取第二行。我如何使用 Pandas 实现这一目标?

     ID             Vehicle              Auction       Offer
0 3580845 2005 Volvo XC90 V8 Copart 215
1 3580845 2005 Volvo XC90 V8 Manheim Salvage API 170
2 3580845 2005 Volvo XC90 V8 Merged Salvage 195
3 3580845 2005 Volvo XC90 V8 Manheim Salvage 390
4 3580845 2005 Volvo XC90 V8 IAA 270
5 3580845 2005 Volvo XC90 V8 SVP 175
6 3580789 2003 Lexus ES 300 Copart 180
7 3580789 2003 Lexus ES 300 Merged Salvage 190
8 3580789 2003 Lexus ES 300 Manheim Salvage 355
9 3580789 2003 Lexus ES 300 IAA 270
10 3580789 2003 Lexus ES 300 SVP 180

预期:

     ID             Vehicle              Auction       Offer
0 3580845 2005 Volvo XC90 V8 IAA 270
1 3580789 2003 Lexus ES 300 IAA 270

最佳答案

首先需要sort_values然后使用 cumcount对于计数值,然后按 boolean indexing 过滤:

df = df.sort_values(['ID','Offer'], ascending=False)
df1 = df[df.groupby('ID').cumcount() == 1]
print (df1)
ID Vehicle Auction Offer
4 3580845 2005 Volvo XC90 V8 IAA 270
9 3580789 2003 Lexus ES 300 IAA 270

关于python - 如何分组、排序然后获取 Pandas 中第二高的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45629033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com