Pandas的rank函数


对Series来说:通过为各组分配一个平均排名的方式来破坏平级关系

1 对Series来说

1.返回的是排名,把原数据升序(默认)后每个值所在的排名位置返回到原来所在的位置的索引所在的行.

有相同的数时,取其排名平均(默认)作为值.

In [42]: s2
Out[42]:
0    4
1   -3
2    5
3    2
4    0
5    4
dtype: int64
In [43]: s2.rank()
Out[43]:
0    4.5
1    1.0
2    6.0
3    3.0
4    2.0
5    4.5
dtype: float64

下面是理解过程

 

 2.rank参数为method='first'时,对于同样的数,先出现的数值排名靠前,不再取其平均位置,按顺序排名

In [44]: s2.rank(method='first')
Out[44]:
0    4
1    1
2    6
3    3
4    2
5    5
dtype: float64

3.参数为ascending=False降序排列

In [46]: s2.rank(ascending=False)
Out[46]:
0    2.5
1    6.0
2    1.0
3    4.0
4    5.0
5    2.5
dtype: float64

4.method='max'使用整个分组的最大排名

In [48]: s2.rank(ascending=False,method='max')
Out[48]:
0 3
1 6
2 1
3 4
4 5
5 3
dtype: float64

5.method='min'使用整个分组的最小排名

In [49]: s2.rank(ascending=False,method='min')
Out[49]:
0    2
1    6
2    1
3    4
4    5
5    2
dtype: float64

对DataFrame同理:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM