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)), 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多级分组实现排序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 pandas多级分组实现排序的方法 的全部内容, 来源链接: utcz.com/z/319176.html

回到顶部