如何按一列对数据帧进行排序,但按另一列的组进行排序



我有以下数据帧:

Names      Counts  Year
0           Jordan        1043  2000
1            Steve         204  2000
2            Brock           3  2000
3            Steve          33  2000
4             Mike          88  2000
...           ...         ...   ...
20001        Bryce           2  2015
20002        Steve          11  2015
20003        Penny          24  2015
20004        Steve          15  2015
20005        Ryan            5  2015

我想把这些名字按年份分组,然后按计数降序排列。

这里有一个输出可能是什么样子的例子:

Names      Counts  Year
0           Jordan        1043  2000
1            Steve         204  2000
2             Mike          88  2000
3            Steve          33  2000
4            Brock           3  2000
...           ...         ...   ...
20001        Penny          24  2015
20002        Steve          15  2015
20003        Steve          11  2015
20004        Ryan            5  2015    
20005        Bryce           2  2015

我尝试过的:

df = (df[df['Names'].groupby('Year').sort_values(by=['Counts'], ascending=False)  
# the list values under ascending are for 1 for ascending, and 0 for descending order
df.sort_values(['Year','Counts','Names'], ascending=[1,0,1])
Names    Counts  Year
0       Jordan  1043    2000
1       Steve    204    2000
4       Mike      88    2000
3       Steve     33    2000
2       Brock      3    2000
20003   Penny     24    2015
20004   Steve     15    2015
20002   Steve     11    2015
20005   Ryan       5    2015
20001   Bryce      2    2015

最新更新