pandas groupby 分组取每组最大或最小的topN条记录

本文转自这里

直接上例子。

import pandas as pd
df = pd.DataFrame({'class':['a','a','b','b','a','a','b','c','c'],'score':[3,5,6,7,8,9,10,11,14]})


df:
     class    score
0    a    3
1    a    5
2    b    6
3    b    7
4    a    8
5    a    9
6    b    10
7    c    11
8    c    14

df.sort_values(['class','score'],ascending=[1,0],inplace=True)
grouped = df.groupby(['class']).head(2)


grouped:
     class    score
5    a    9
4    a    8
6    b    10
3    b    7
8    c    14
7    c    11

--------------------- 
作者:徐三少北 
来源:CSDN 
原文:https://blog.csdn.net/uvyoaa/article/details/79157786 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值