熊猫分组并计数,然后按分组大小对整个数据框进行升序排序?

时间:2020-06-12 20:05:38

标签: python-3.x pandas numpy

我如何在熊猫中进行分组和计数,然后按分组大小对整个数据框进行升序排序? 例如,我有以下数据框:

        wdate  cls
Found 116 groups
       wdate  cls
0 2020-06-09   84
1 2020-06-09   84
2 2020-06-09  108
3 2020-06-09  108
4 2020-06-08   76
5 2020-06-08   89
6 2020-06-08   93
7 2020-06-08   82
8 2020-06-08   84
9 2020-06-08   89

应该这样排序(组中最小的组数)

       wdate  cls
4 2020-06-08   76
7 2020-06-08   82
6 2020-06-08   93
5 2020-06-08   89
9 2020-06-08   89
2 2020-06-09  108
3 2020-06-09  108
0 2020-06-09   84
1 2020-06-09   84
8 2020-06-08   84

我不知道该怎么做。 谢谢

1 个答案:

答案 0 :(得分:2)

我将用transformcount argsort

df=df.iloc[df.groupby(['cls'])['cls'].transform('count').argsort()]
Out[262]: 
        wdate  cls
4  2020-06-08   76
6  2020-06-08   93
7  2020-06-08   82
2  2020-06-09  108
3  2020-06-09  108
5  2020-06-08   89
9  2020-06-08   89
0  2020-06-09   84
1  2020-06-09   84
8  2020-06-08   84
相关问题