R语言和Python中sort(),rank()和order()的各自区别(默认都是升序)

R的sort、rank、order区别

举例说明:

> x<-c(97,93,85,74,32,100,99,67)
> sort(x)
[1]  32  67  74  85  93  97  99 100
> rank(x)
[1] 6 5 4 3 1 8 7 2  
> order(x)
[1] 5 8 4 3 2 1 7 6

sort:按从小到大排序;
rank:该数对应于向量的第几名(按从小到大)。比如97在向量中是第6小的。
order:返回各个排名的数,位于向量的第几个(按从小到大)。相当于索引。比如这里最小的数位于向量的第5个位置。

Python的pandas中sort、order 、rank区别

主要是Series和Data Frame中会用到。
sort表示对行或列索引进行排序(按字典顺序):

obj.sort_index()  
a    1
b    2
c    3
d    0
dtype: int32

order表示按值对Series进行排序:

obj.order()  
2   -3
3    2
0    4
1    7
dtype: int64

rank 表示在这个数在原来的向量中排第几名,有相同的数,取平均(默认)。

obj = pd.Series([7,-5,7,4,2,0,4])
obj.rank()
0    6.5
1    1.0
2    6.5
3    4.5
4    3.0
5    2.0
6    4.5
dtype: float64

猜你喜欢

转载自blog.csdn.net/minixuezhen/article/details/60769084