当前位置: 代码网 > it编程>前端脚本>Python > pandas中Series和DataFrame的rank方法解析

pandas中Series和DataFrame的rank方法解析

2024年09月10日 Python 我要评论
pandas中的series和dataframe的rank方法rank是将series或dataframe的数据进行排序类型的一种方法,不过它并不像sort(含sort_index、sort_valu

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参数,按需设置即可。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

  • python循环某一特定列的所有行数据(方法示例)

    python循环某一特定列的所有行数据(方法示例)

    在python中,处理表格数据(比如csv文件、excel文件等)时,我们通常会使用pandas库,因为它提供了丰富的数据结构和数据分析工具。下面,我将以处理c... [阅读全文]
  • pyinstaller打包路径的总结

    一、相对路径(自己总结得出,简单好用,力荐)py文件的相对路径:相对于py文件所在目录的相对路径。exe文件的相对路径:相对于exe文件所在目录的相对路径。准备打包的代码:impo…

    2024年09月10日 前端脚本
  • Python 如何调用手机摄像头

    python 调用手机摄像头在手机上安装软件这里以安卓手机作为演示,iso也是差不多的软件下载地址(需要的朋友及时下载,链接有效期3天。)注意:要想在电脑上查看手机摄像头拍摄的内容…

    2024年09月10日 前端脚本
  • PyTorch中的torch.cat函数基本用法详解

    PyTorch中的torch.cat函数基本用法详解

    在pytorch中,torch.cat是一个非常实用的函数,用于将多个张量(tensor)沿指定维度连接起来。这个功能在机器学习和深度学习中经常用到,尤其是在需... [阅读全文]
  • 打包迁移Python env环境的三种方法总结

    打包迁移Python env环境的三种方法总结

    平常工作中可能遇到python虚拟环境迁移的场景,总结了如下几个方法。适用于同架构、相同类型系统之间的python虚拟环境迁移。方法一:使用pip freeze... [阅读全文]
  • Python实现时间序列变化点检测功能

    平稳性是时间序列分析与预测的核心概念。在平稳条件下,时间序列的统计特性(如均值)在时间维度上保持不变,仅存在随机波动。但是实际数据集中很少观察到完全的平稳性。时间序列通常会经历结构…

    2024年09月09日 前端脚本

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com