手记

简述如何实现pandas多级分组排序

扣丁学堂简述如何实现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



作者:扣丁学堂
链接:https://www.jianshu.com/p/42f9cc72874d


0人推荐
随时随地看视频
慕课网APP