pandas中Series和DataFrame的rank方法解析

 更新时间:2024年09月10日 10:04:03   作者:_吟游诗人  
pandas中的rank方法是用于数据排名的重要工具,它不返回排序后的数据,而是数据的排名。rank方法可以处理相同数据的排名,通过平均排名方式解决排名冲突,并支持自定义排序规则及逆序排名。此外,DataFrame的rank方法允许在行或列上计算排名

pandas中的Series和DataFrame的rank方法

rank是将Series或DataFrame的数据进行排序类型的一种方法,不过它并不像sort(含sort_index、sort_values等)那样返回的是排序后的数据,而是当前数据的排名。

上述很好理解,但是往往可以看到一句话:

默认情况下,rank是通过“为各组分配一个平均排名”的方式破坏平级关系的

刚接触这个方法可能很难理解这句话

那么看下面的例子:

是不是仍然很难理解,为什么rank会有小数?

这时候请再回味一下上面那句话,为各组分配一个平均排名。

什么意思呢

我们可以自己先拍一下一些没用争议的数字,比如-5最小,其排名为1.0,0其次,因此其排名为2.0,数字2同理,其排名为3.0,这些都没问题,但是到了4的时候,我们发现Series中存在两个4,那么根据不同的规则,我们可以说数字4的排名是4.0,但也可以说是5.0,而“为各组分配一个平均排名”就能很好的解释这个4.5的来源了,即取4.0和5.0的平均值,那么对于数字7来说,也是一个道理了,其既可以取6.0,也可以取7.0,这里平均一下,就成了6.5了。

当然上述全都是默认情况下的排名方式,我们可以根据自己的实际需要对这种排名的方式进行调整,rank函数为我们提供了一个method参数.

如上图所示,设置为method为first时,对于相同的数据,它会根据数据出现的顺序进行排序。

其他的method的取值及说明如下:

同时,我们可以让rank的排名顺序为逆序,这是只需设置ascending = False即可,

示例如下:

上述全都是对于Series的操作,而对于DataFrame而言方法是一样的,只是在DataFrame中,我们可以自己选择是在行还是列上进行计算,rank方法中有axis参数,按需设置即可。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Python+Flask开发博客项目并实现内网穿透

    使用Python+Flask开发博客项目并实现内网穿透

    Flask是一个使用python编写的轻量级Web框架,这篇文章我们将使用这个框架编写一个属于自己的博客网站!并教你如何通过使用内网穿透工具处理项目,让本地的项目可以在公网访问,感兴趣的可以了解一下
    2021-11-11
  • Python命令行库click的具体使用

    Python命令行库click的具体使用

    本文主要介绍了Python命令行库click的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Python实现将MP4视频分解为JPG图片帧

    Python实现将MP4视频分解为JPG图片帧

    视频处理是Python的一大强项,今天我们来聊聊如何用几十行代码,实现将MP4视频自动分解为一张张JPG图片,这个技能在视频分析、数据集制作、精彩瞬间提取等场景非常实用,需要的朋友可以参考下
    2026-04-04
  • python pyaudio音频录制的实现

    python pyaudio音频录制的实现

    这篇文章主要介绍了python pyaudio音频录制的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • python如何通过跳板机连接MySQL

    python如何通过跳板机连接MySQL

    这篇文章主要介绍了python如何通过跳板机连接MySQL问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • pytorch 数据集图片显示方法

    pytorch 数据集图片显示方法

    今天小编就为大家分享一篇pytorch 数据集图片显示方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python使用from import导入模块中的指定内容

    Python使用from import导入模块中的指定内容

    在编程的世界里,模块化是构建健壮应用的核心原则之一,而from import语句,正是让这种高效导入变得优雅的关键工具,今天,我们将深入探索from import的方方面面,从基础语法到高级技巧,需要的朋友可以参考下
    2026-06-06
  • Python变量教程之全局变量和局部变量

    Python变量教程之全局变量和局部变量

    这篇文章主要介绍了Python变量教程之全局变量和局部变量,文章围绕主题展开详细的晌午内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 基于Python实现加强版烟花

    基于Python实现加强版烟花

    这篇文章主要为大家详细介绍了如何利用Python制作一个加强版烟花景,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下
    2022-02-02
  • Python实现多路视频多窗口播放功能

    Python实现多路视频多窗口播放功能

    这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下
    2025-02-02

最新评论