rank函数升序是0还是1 - 智学轩城

rank函数升序是0还是1

梁孟高头像

梁孟高

2025-11-03 11:52:58

这个rank函数嘛,升序是0,不,是1。2022年,我第一次看到这个,我当时也懵,心里想着这到底是啥意思。后来,我查了资料,才知道,升序rank函数啊,它默认就是从大到小排的,数值越小,排名越高。比如说,在某个城市,2022年举办了一场马拉松,报名人数上万,用rank函数排序,第一名就是1,第二名就是2,以此类推。当时,我反应过来,心里暗自佩服,数学果然严谨。可能我偏激了点,但这就是我对rank函数升序的理解。

周季晶头像

周季晶

2025-02-10 15:28:05

rank函数的升序排列在多数编程语言中通常是从1开始的,而不是0。其实很简单,这是因为编程中很多计数都是从1开始的,而数学中从0开始计数的情况更常见。这事复杂在,如果你在Python中使用pandas库的rank函数,默认就是升序从1开始。
我一开始也以为在所有编程环境中rank都是0开始,但后来发现不对,比如在Excel中使用RANK.EQ函数,默认也是从1开始。还有个细节挺关键的,如果你在Python中用numpy的rankdata函数,也是从1开始的。
所以,如果你在做数据排序或排名时,要注意这个习惯用法,避免出错。这个点很多人没注意,但我觉得值得试试在用之前先确认一下文档说明,以防意外。

齐孟琳头像

齐孟琳

2026-01-20 12:04:59

上周有个客人问我,rank函数的升序是0还是1。这个问题我还真得好好想想。我之前在使用rank函数的时候,默认就是按照升序排列的,但是具体是0还是1,还真没细究。不过,根据我的理解,rank函数的升序应该是从1开始的,因为通常我们排序的时候,第一位的排名不应该是0吧。你看看,我还在想这个问题,反正你看着办吧。