Pandas.rank() 函数详解

news2024/9/23 17:25:42

文章目录

  • Pandas.rank() 函数详解
    • 一、参数解析
    • 二、案例分享
          • 默认排名
          • `降序: ascending = False`
          • `method = 'min'`
          • `method = 'max'`
          • `method = 'first'`
          • `method = 'dense'`
          • `na_option='bottom'`
          • `pct = True`

Pandas.rank() 函数详解

一、参数解析

  • method:指定排名时的策略。
    • 默认值为 'average',表示相同值的项将会获得平均排名。
    • 可选的取值还包括
      • 'min':相同值的项将获得最小排名;
      • 'max':相同值的项将获得最大排名;
      • 'first':相同值的项将获得第一次出现时的排名;
      • 'dense'。相同值的项将获得连续排名。
  • ascending:指定排名的顺序。
    • 默认值为 True,升序。
    • 设置为 False 降序。
  • na_option:指定如何处理缺失值(NaN)。
    • 默认值为 'keep',缺失值不参与排名。
    • 设置为 'top' 则将缺失值放在排名结果的顶部。
    • 设置为 'bottom' 则将缺失值放在排名结果的底部。
  • pct:指定是否返回百分比排名。
    • 默认值为 False 表示返回实际的排名值。
    • 设置为 True 则返回相对于总项数的百分比排名值。

二、案例分享

import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emma', 'Frank'],
        'Score': [90, 85, 85, 75, None, 78]}
df = pd.DataFrame(data)

在这里插入图片描述

默认排名
  • 升序、忽略缺失值;
  • 遇到相同数值(如score=85),排名会平分
df['Rank'] = df['Score'].rank()

在这里插入图片描述

降序: ascending = False
df['Rank'] = df['Score'].rank(ascending=False)

在这里插入图片描述

method = 'min'
  • 相同值的项将获得最小排名;
  • 此处相同值为85,占排名3、4位,取最小3;
  • 此时排名会出现断层
df['Rank'] = df['Score'].rank(method='min')

在这里插入图片描述

method = 'max'
  • 相同值的项将获得最大排名;
  • 此处相同值为85,占排名3、4位,取最大4;
  • 此时排名会出现断层
df['Rank'] = df['Score'].rank(method='max')

在这里插入图片描述

method = 'first'
  • 相同值的项将获得第一次出现时的排名;
  • 此处相同值为85,占排名3、4位,Name=Bob出现在前,Name=Charlie出现在后;
  • 此时排名不会出现断层
df['Rank'] = df['Score'].rank(method='first')

在这里插入图片描述

method = 'dense'
  • 相同值的项将获得连续排名;
  • 此时排名不会出现断层
df['Rank'] = df['Score'].rank(method='dense')

在这里插入图片描述

na_option='bottom'
  • 缺失值参与排名;
  • 缺失值排名靠后
df['Rank'] = df['Score'].rank(na_option='bottom')

在这里插入图片描述

pct = True
  • 返回百分比排名,如此处score=75排名第1(升序),总项数是5,1/5=0.2;
  • 该参数可以扩展的实际需求:求销售额Top20的商品等
df['Rank'] = df['Score'].rank(pct=True)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[python]conda激活环境后pip -V显示在base路径

正常激活环境后pip -V是在激活环境路径,比如 但是我的突然确为 D:\anaconda3\lib\site-packages里面,百思不得其解,后来发现是我在环境变量加了PYTHONHOME环境变量,如果你的环境变量有PYTHONHOME或者PYTHONPATH请删掉试试。 此外…

Java并发系列之二:悲观锁机制

什么是锁 在并发环境下,会出现多个线程对同一个资源进行争抢的情况,假设A线程对资源正在进行修改,此时B线程此时又对资源进行了修改,这就可能会导致数据不一致的问题。为了解决这个问题,很多编程语言引入了锁机制&…

Stephen Wolfram:机器学习与神经网络训练

Machine Learning, and the Training of Neural Nets 机器学习与神经网络训练 We’ve been talking so far about neural nets that “already know” how to do particular tasks. But what makes neural nets so useful (presumably also in brains) is that not only can t…

【前端知识】React 基础巩固(四十六)——自定义Hook的应用

React 基础巩固(四十六)——自定义Hook的应用 一、自定义Hook的应用 自定义Hook本质上只是一种函数代码逻辑的抽取,严格意义上而言,它并不算React的特性。 实现组件创建/销毁时打印日志 import React, { memo, useEffect, useState } from "react…

#P0994. [NOIP2004普及组] 花生采摘

题目描述 鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!――熊字”。 鲁宾逊先生和多多都很开心,因为花生正…

java学习路程之篇五、进阶知识、常用API、Object类、Math类、System类、BigDecimal类、包装类

文章目录 1、介绍2、Object类3、Math类4、System类5、BigDecimal类6、包装类 1、介绍 2、Object类 3、Math类 4、System类 5、BigDecimal类 6、包装类

华为云低代码平台Astro Canvas 搭建汽车展示大屏——实验指导手册

实验背景 大屏应用Astro Canvas是华为云低代码平台Astro的子服务之一,是以数据可视化为核心,以屏幕轻松编排,多屏适配可视为基础,用户可通过图形化界面轻松搭建专业水准的数据可视化大屏。例如汽车展示大屏、监控大屏、项目开发大…

【Docker】Docker安装Consul

文章目录 1. 什么是Consul2. Docker安装启动Consul 点击跳转:Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务全套(质量有保证,内容详情) 1. 什么是Consul Consul是HashiCorp公司推出的开源软件,提…

JVM面试题--类加载器

什么是类加载器,类加载器有哪些 类加载子系统,当java源代码编译为class文件之后,由他将字节码装载到运行时数据区 BootStrap ClassLoader 启动类加载器或者叫做引导类加载器,是用c实现的,嵌套在jvm内部,…

站群站点日志优化

需求: 1,每个站点的日志需要记录到请求的域名 2,日志需要自动切割保存前三天的内容,防止日志无限增长 3,日志要有利于二次分析 实现: 1,nginx需要修改两个地方 nginx配置 时间 …

JavaScript(二)函数及对象

函数 函数体中return后面不能再添加任何代码&#xff0c;因为不会执行 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

【论文阅读24】Better Few-Shot Text Classification with Pre-trained Language Model

论文相关 论文标题&#xff1a;论文标题&#xff1a;Label prompt for multi-label text classification&#xff08;基于预训练模型对少样本进行文本分类&#xff09; 发表时间&#xff1a;2021 领域&#xff1a;多标签文本分类 发表期刊&#xff1a;ICANN&#xff08;顶级会…

PyCharm安装使用2023年教程,PyCharm与现流行所有编辑器对比。

与PyCharm类似的功能和特性的集成开发环境&#xff08;IDE&#xff09;和代码编辑器有以下几种&#xff1a; Visual Studio Code&#xff08;VS Code&#xff09;&#xff1a;由Microsoft开发&#xff0c;VS Code是一个高度可定制和可扩展的代码编辑器。它支持多种编程语言&am…

动手学深度学习(一)预备知识

目录 一、数据操作 1. N维数组样例 2. 访问元素 3. 基础函数 &#xff08;1&#xff09; 创建一个行向量 &#xff08;2&#xff09;通过张量的shape属性来访问张量的形状和元素总数 &#xff08;3&#xff09;reshape()函数 &#xff08;4&#xff09;创建全0、全1、…

机器学习笔记之优化算法(六)线搜索方法(步长角度;非精确搜索;Glodstein Condition)

机器学习笔记之优化算法——线搜索方法[步长角度&#xff0c;非精确搜索&#xff0c;Glodstein Condition] 引言回顾&#xff1a; Armijo Condition \text{Armijo Condition} Armijo Condition关于 Armijo Condition \text{Armijo Condition} Armijo Condition的弊端 Glodstein…

开源项目-知识库管理系统(中国软件杯项目)

简述 哈喽,大家好,今天带来一个开源项目-知识库管理系统,项目通过Spring MVC技术实现。通过readme了解到这是某位大神大三暑假(2016年)参加第五届中国软件杯项目的源码。由三人团队完成(Yu yufeng\Zhou changqin\Liu chenzhe) 此作品获得了本科组全国二等奖。项目本身用…

ROS处理kitti数据集

一、参考资料 kitti2bag代码仓库 二、KITTI数据集之tracking数据集 ROS1结合自动驾驶数据集Kitti开发教程(七)下载图像标注资料并读取显示 1. tracking数据集简介 tracking tracking任务分为三种类型&#xff0c;分别是Multi-Object Tracking&#xff08;多目标跟踪&…

2023牛客暑期多校训练营5-C Cheeeeen the Cute Cat

2023牛客暑期多校训练营5-C Cheeeeen the Cute Cat https://ac.nowcoder.com/acm/contest/57359/C 文章目录 2023牛客暑期多校训练营5-C Cheeeeen the Cute Cat题意解题思路兰道定理&#xff1a; 代码 题意 解题思路 可以将边 ( i , j n ) (i,jn) (i,jn)转变成 ( i , j ) (…

项目管理中的需求分析:实施策略与最佳实践

引言 在项目管理的过程中&#xff0c;需求分析起着至关重要的作用。理解和定义项目需求是项目成功的关键一步&#xff0c;它可以帮助我们确定项目的目标和范围&#xff0c;以及如何有效地达到这些目标。在本文中&#xff0c;我们将深入探讨需求分析的重要性&#xff0c;讨论如…

使用 AntV X6 + vue 实现单线流程图

使用 AntV X6 vue 实现单线流程图 X6 是 AntV 旗下的图编辑引擎&#xff0c;提供了一系列开箱即用的交互组件和简单易用的节点定制能力&#xff0c;方便我们快速搭建 DAG 图、ER 图、流程图等应用。 官方文档 安装 yarn add antv/x61.34.6Tips&#xff1a; 目前 X6 有 1.x…