描述:
语法:
A.ranks(x)
备注:
对序列A计算表达式x,返回序列A.(x)排名组成的序列。默认为升序排名。
参数:
A |
序列。 |
x |
表达式。A为排列/序表时不可省略。 |
选项:
@z |
降序排名。 |
@i |
去除重复重复成员后计算排名。 |
@s |
有重复成员时先对其排名做均值计算,再计算排名,返回值存在非整数的情况。 |
返回值:
数列
示例:
A为序列:
|
A |
|
1 |
=[2,1,3,4,8,5,2,0] |
|
2 |
=A1.ranks() |
返回结果:[3,2,5,6,8,7,3,1],升序排名。 |
3 |
=A1.ranks@z() |
返回结果:[5,7,4,3,1,2,5,8],降序排名。 |
4 |
=A1.ranks@i() |
返回结果:[3,2,4,5,7,6,3,1],先去掉重复成员,再计算排名。 |
5 |
=A1.ranks@s() |
返回结果:[3.5,2.0,5.0,6.0,8.0,7.0,3.5,1.0],先对重复成员的排名做均值运算,再计算排名,即:值2的成员有两个,排名分别为3、4,均值运算结果为(3+4)/2=3.5,所以2在序列中的排名为3.5。 |
A为序表/排列:
|
A |
|
1 |
=demo.query("select top 10 * from SCORES where SUBJECT='English'") |
|
2 |
=A1.ranks@z(SCORE) |
根据SCORE值进行降序排名,返回结果:[4,5,6,1,8,3,6,9,2,10] 。 |
3 |
=A1.ranks@zi(SCORE) |
去除SCORE重复值后再进行降序排名,返回结果:[4,5,6,1,7,3,6,8,2,9] 。 |
4 |
=A1.ranks@zs(SCORE) |
先对重复成员的排名做均值运算,再计算排名,返回结果:[4.0,5.0,6.5,1.0,8.0,3.0,6.5,9.0,2.0,10.0] ,即:值为75的成员有两个,排名分别为6、7,均值运算结果为(6+7)/2=6.5,所以75在序列中的排名为6.5 。 |