推广 热搜: 行业  机械  设备    系统  教师  经纪    参数  蒸汽 

python排名次用什么函数_Pandas rank()函数排名的用法与解释

   日期:2024-12-29     移动:http://yybeili.xhstdz.com/mobile/quote/86169.html

之前搜关于pandas rank()函数的帖子,好几个大哥都是照搬书,当然也有一些大神直接一顿操作+截图。我结合了书还有自己的理解,希望没有错误,也希望和我一样的新手能看懂。谢谢

python排名次用什么函数_Pandas rank()函数排名的用法与解释

1. rank()

默认情况下,rank() 通过将平均排名分配到每个组打破平级关系。也就是说,如果有两组数值一样,那他们的排名将会被加在一起再除2.

obj=pd.Series([3,5,-1,0,5,6])

print(obj)

print(obj.rank())

得到如图

我们自己手动排一下,-1,0,3,5,5,6.所以-1是第1名,0是第2名,3是第3,5是第4,5是第5,6是第6. 两个5的排名分别是4和5。所以在默认的排法。他们都是4.5(平均数)。

2. rank(method=“first”)

####这种情况下没有小数点,因为出现同样的数字的时候,我们按先看到谁谁就是老大的原则。书面文字是:排名也可以根据他们在数据中的观察顺序进行分配

因此,同样两个5,从上到下,我们先看到 index=1 的那个5,所以他排名要优先于 index=4 的那个5.

3. rank(method=“min”)与 “dense”

这两个有点类似但是还是有区别,我们导入一个新的obj。

obj=pd.Series([3,5,-1,0,5,5,6])

print(obj)

obj.rank(method="min")

前面很好理解,同时出现3个5,我们把它用最小的号码排名,那就是都并列为4.但是因为这3个5占了4,5,6三个坑位,下一个就只能为排名7了。

dense,翻译过来的意思就是稠密,它与min唯一的区别就是,重复的不会占坑位,因此,3个5还是排第4,6可以排第五名了,这个也是比较常用的排名,比如班级名次,有几个人并列第n名,不影响紧跟着的n+1名。所以dense总是连续的,即组间排名总是+1.不过只是会有重复的而已。

4. rank(method=“max”)

类似于min的占坑位,3个5占4,5,6三个坑位时,min取4,在method为“max”时就取6了,其他一样。

当然还可以顺序反过来,用 ascending=False

5 method=“average”

同样地,3个5占4,5,6三个坑, method=“average“就是取这三个的平均数(4+5+6)/3,后面的数还是排在坑外为7.

本文地址:http://yybeili.xhstdz.com/quote/86169.html    物流园资讯网 http://yybeili.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号