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 |
以上这篇pandas groupby 分组取每组的前几行记录方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
您可能感兴趣的文章:
- pandas数据分组和聚合操作方法
相关推荐
-
pandas数据分组和聚合操作方法
<Python for Data Analysis> GroupBy 分组运算:split-apply-combine(拆分-应用-合并) DataFrame可以在其行(axis=0)或列(axis=1)上进行分组.然后,将一个函数应用到各个分组并产生新值.最后,所有这些函数的执行结果会被合并到最终的结果对象中去. GroupBy的size方法可以返回一个含有分组大小的Series. 对分组进行迭代 for (k1,k2), group in df.groupby(['key1','key2'
-
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],inp
-
pandas groupby分组对象的组内排序解决方案
问题: 根据数据某列进行分组,选择其中另一列大小top-K的的所在行数据 解析: 求解思路很清晰,即先用groupby对数据进行分组,然后再根据分组后的某一列进行排序,选择排序结果后的top-K结果 案例: 取一下dataframe中B列各对象中C值最高所在的行 df = pd.DataFrame({"A": [2, 3, 5, 4], "B": ['a', 'b', 'b', 'a'], "C": [200801, 200902, 200704
-
php去掉文件前几行的方法
本文实例讲述了php去掉文件前几行的方法.分享给大家供大家参考.具体如下: 比如去掉lrc文件中开头几行: [ti:] [ar:] [al:] [by:cww.99Lrc.net] [00:00.59]dasfdasfasdf [00:30.18]dafadsf php实现代码如下: <?php foreach (new DirectoryIterator('./') as $fileInfo) { if($fileInfo->isDot()) continue; if($fileInfo-&
-
mysql分组取每组前几条记录(排名) 附group by与order by的研究
--按某一字段分组取最大(小)值所在行的数据 复制代码 代码如下: /* 数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */ --创建表并插入数据: 复制代码 代码如下: create table tb(name varchar(10),val int,memo varchar(20)
-
Python在groupby分组后提取指定位置记录方法
在进行数据分析.数据建模时,我们首先要做的就是对数据进行处理,提取我们需要的信息.下面为大家介绍一些groupby的用法,以便能够更加方便地进行数据处理. 我们往往在使用groupby进行信息提取时,往往是求分组后样本的一些统计量(max.min,var等).如果现在我们希望取一下分组后样本的第二条记录,倒数第三条记录,这个该如何操作呢?我们可以通过first.last来提取分组后第一条和最后一条样本.但如果我们要取指定位置的样本,就没有现成的函数.需要我们自己去写了.下面我就为大家介绍如何实现
-
pandas多级分组实现排序的方法
pandas有groupby分组函数和sort_values排序函数,但是如何对dataframe分组之后排序呢? In [70]: df = pd.DataFrame(((random.randint(2012, 2016), random.choice(['tech', 'art', 'office']), '%dk-%dk'%(random.randint(2,10), random.randint(10, 20)), '') for _ in xrange(10000)), column
-
pandas之分组groupby()的使用整理与总结
前言 在使用pandas的时候,有些场景需要对数据内部进行分组处理,如一组全校学生成绩的数据,我们想通过班级进行分组,或者再对班级分组后的性别进行分组来进行分析,这时通过pandas下的groupby()函数就可以解决.在使用pandas进行数据分析时,groupby()函数将会是一个数据分析辅助的利器. groupby的作用可以参考 超好用的 pandas 之 groupby 中作者的插图进行直观的理解: 准备 读入的数据是一段学生信息的数据,下面将以这个数据为例进行整理grouby()函数的
-
pandas 实现分组后取第N行
目的: 把question_id 对应的user_answer转成ABCD solution dfa=df.groupby('question_id').nth(0).reset_index() dfa['flag']='A' dfb=df.groupby('question_id').nth(1).reset_index() dfb['flag']='B' dfc=df.groupby('question_id').nth(2).reset_index() dfc['flag']='C' df
-
mysql使用GROUP BY分组实现取前N条记录的方法
本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法.分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道怎么想的,当时表名直接敲了个aa,汗~~~~): 结果: 方法一: 复制代码 代码如下: SELECT a.id,a.SName,a.ClsNo,a.Score FROM aa a LEFT J
随机推荐
- JavaScript高级程序设计(第3版)学习笔记6 初识js对象
- python实现微信接口(itchat)详细介绍
- VS2015下简单使用EF框架的方法
- asp.net实现服务器文件下载到本地的方法
- JavaScript数组操作函数汇总
- python实现封装得到virustotal扫描结果
- javascript排序函数实现数字排序
- asp.net网站防恶意刷新的Cookies与Session解决方法
- jquery动态赋值id与动态取id方法示例
- Jquery从头学起第四讲 jquery入门教程
- Linux系统下常见基本问题的解决方法
- Nginx服务器中HTTP 301跳转到带www的域名的方法
- Nginx服务器的location指令匹配规则详解
- 提高网管地位,3Com提出十大网管建议
- 浅谈java中六大时间类的使用和区别
- php模拟登陆的实现方法分析
- Android开发之项目模块化实践教程
- Spring Bean的属性注入方式
- 详解Java设计模式——迭代器模式
- 元组列表字典(莫烦python基础)