pandas groupby 分组取每组的前几行记录

直接上例子。

    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


posted @   锐洋智能  阅读(278)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· Windows 提权-UAC 绕过
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2014-12-24 3种LVS/Nginx/HAProxy负载均衡器的对比分析
点击右上角即可分享
微信分享提示