4.11 组排序

 

有数据如下:

Class Name Maths
1 Tom 85
2 John 92
2 Joan 86
1 Rocky 85
2 Ham 92
1 Kate 83
1 Rose 75
2 Nomy 78
1 Neil 61
2 Jack 84
1 Joe 88

将数据按照班级分组、班级之间按照平均分降序排序,班级内部按成绩 (降序) 的规则排序:
脚本:

A
1 =T(“score.xlsx”).group(Class;~.sort@z(Maths):data,~.avg(Maths):avg)
2 =A1.sort@z(avg).(data).conj()

A1 读入数据,按照 Class 分组,组内按照 Maths 逆序排序,算出每组的平均成绩
A2 将 A1 按平均成绩逆序排序,然后将所有班级合并成一个序列

运行结果:

Class Name Maths
2 John 92
2 Ham 92
2 Joan 86
2 Jack 84
2 Nomy 78
1 Joe 88
1 Tom 85
1 Rocky 85
1 Kate 83
1 Rose 75
1 Neil 61