pandas多级分组实现排序的方法

yipeiwu_com5年前Python基础

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)), columns=['publish_time', 'classf', 'salary', 'title'])

In [71]: df.head()
Out[71]:
 publish_time classf salary title
0   2012  art 2k-19k
1   2014 office 5k-17k
2   2013 office 2k-10k
3   2013  art 5k-14k
4   2013  art 2k-14k

In [72]: df.groupby(['publish_time', 'classf', 'salary']).count()['title'].groupby(level=0, group_keys=False).nlargest(10)
Out[72]:
publish_time classf salary
2012   art  7k-13k  18
      4k-13k  16
    tech 3k-12k  14
    art  6k-16k  13
      8k-15k  13
    office 5k-18k  13
    tech 4k-14k  13

以上这篇pandas多级分组实现排序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python标准库inspect的具体使用方法

inspect模块用于收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等等,有几个好用的方法: Doc:这样写到 The inspect m...

Python装饰器使用你可能不知道的几种姿势

前言 在Python中,装饰器是一种十分强大并且好用的语法,一些重复的代码使用装饰器语法的话能够使代码更容易理解及阅读。 因此在这里简单总结了一下Python中装饰器的几种用法以及需要...

web.py在模板中输出美元符号的方法

web.py在模板中输出美元符号的方法

由于web.py已经在模板中定义“$”符号位定界符,所以在模板中如果要使用美元符号需要特殊处理。 如我要在模板中输出“$name”字符串: 复制代码 代码如下: $name 报错 $...

Python 支持向量机分类器的实现

支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalize...

简单介绍Python中的len()函数的使用

函数:len() 1:作用:返回字符串、列表、字典、元组等长度 2:语法:len(str) 3:参数: str:要计算的字符串、列表、字典、元组等 4:返回值:字符串、列表、字典、元组等...