我在想,如果存在这样一个简单函数的名称,它会返回数组中的数字顺序。我真的很想用极简主义的方法和使用基本的Unix命令来做这个排名,但是我想不出有什么比基本的查找和循环更优雅的了。假设你有一个数字数组
17
94
3
52
4
4
9重复的预期输出只接收相同的ID;如何处理重复项并不重要,因此请使用快捷方式:
4
6
1
5
2
2
3 动机:今天,我看到许多用户使用了许多不同的方法来解决这个问题,并且使用电子表格进行了大量的手工操作;因此,我开始考虑使用极简的方法来解决这个问题。
在Google电子表格中,做=arrayformula(rank.AVG(A:A,A:A,true)),然后像第一个期望的输出那样作为基准,按升序排列。
17 5
94 7
3 1
52 6
4 2.5
4 2.5
9 4你可以看到我最初的排名算法是有偏差的。我认为能够设置数据集的位置在这里是有帮助的。
发布于 2016-09-19 21:18:43
nl x | sort -k 2n | nl | sort -k 2n | cut -f1..。在重复的情况下,它的行为略有不同:
nl x | sort -k 2n | nl | sort -k 2n | cut -f1,3
5 17
7 94
1 3
6 52
2 4
3 4
4 9https://unix.stackexchange.com/questions/310916
复制相似问题