我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pandas实现按照多列排序-ascending

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

pandas实现按照多列排序-ascending

pandas按照多列排序ascending

代码示例:

import pandas as pd
 
#读取文件
df = pd.read_csv('./TianQi.csv')
#字符串替换和类型转换
df['最高温度'] = df['最高温度'].str.replace('℃','').astype('int32')
df.loc[:,'最低温度'] = df['最低温度'].str.replace('℃','').astype('int32')
#排序并获取最高温度前5名
print(df.sort_values(by='最高温度',ascending=False).head())
'''
打印:
            日期  最高温度  最低温度      天气   风向  风级 空气质量
184   2019/7/4    38    25    晴~多云  西南风  2级    良
206  2019/7/26    37    27       晴  西南风  2级    良
142  2019/5/23    37    21       晴  东南风  2级    良
183   2019/7/3    36    24       晴  东南风  1级    良
204  2019/7/24    36    27  多云~雷阵雨  西南风  2级    良
'''
 
#按照多列排序
print(df.sort_values(by=['最高温度','最低温度'],ascending= True).head(10))
'''
打印:
             日期  最高温度  最低温度     天气   风向  风级 空气质量
363  2019/12/30    -5   -12      晴  西北风  4级    优
364  2019/12/31    -3   -10      晴  西北风  1级    优
42    2019/2/12    -3    -8  小雪~多云  东北风  2级    优
44    2019/2/14    -3    -6  小雪~多云  东南风  2级    良
14    2019/1/15    -2   -10      晴  西北风  3级    良
37     2019/2/7    -2    -7     多云  东北风  3级    优
38     2019/2/8    -1    -7     多云  西南风  2级    优
4      2019/1/5     0    -8     多云  东北风  2级    优
39     2019/2/9     0    -8     多云  东北风  2级    优
40    2019/2/10     0    -8     多云  东南风  1级    优
'''
print(df.sort_values(by=['最高温度','最低温度'],ascending= False).head(10))
'''
打印:
           日期  最高温度  最低温度      天气   风向  风级  空气质量
184   2019/7/4    38    25    晴~多云  西南风  2级     良
206  2019/7/26    37    27       晴  西南风  2级     良
142  2019/5/23    37    21       晴  东南风  2级     良
201  2019/7/21    36    27    晴~多云  西南风  2级  轻度污染
204  2019/7/24    36    27  多云~雷阵雨  西南风  2级     良
207  2019/7/27    36    27      多云  东南风  2级  轻度污染
174  2019/6/24    36    24      多云  东南风  2级     良
175  2019/6/25    36    24      多云  东南风  2级     良
183   2019/7/3    36    24       晴  东南风  1级     良
170  2019/6/20    36    23    多云~晴  东南风  2级  轻度污染
'''
print(df.sort_values(by=['最高温度','最低温度'],ascending= [True,False]).head(10))
'''
打印:
             日期  最高温度  最低温度     天气   风向  风级 空气质量
363  2019/12/30    -5   -12      晴  西北风  4级    优
44    2019/2/14    -3    -6  小雪~多云  东南风  2级    良
42    2019/2/12    -3    -8  小雪~多云  东北风  2级    优
364  2019/12/31    -3   -10      晴  西北风  1级    优
37     2019/2/7    -2    -7     多云  东北风  3级    优
14    2019/1/15    -2   -10      晴  西北风  3级    良
38     2019/2/8    -1    -7     多云  西南风  2级    优
4      2019/1/5     0    -8     多云  东北风  2级    优
39     2019/2/9     0    -8     多云  东北风  2级    优
40    2019/2/10     0    -8     多云  东南风  1级    优
'''

pandas排序、排名函数的使用

排序

Series

s.sort_index(ascending=False)

对series的索引进行排序,默认升序

s.sort_values(ascending=False)

对series的值进行排序,对值进行排序的时候,无论是升序还是降序,缺失值(NaN)都会排在最后面

DataFrame:

dt.sort_index(ascending=False)#按列索引进行降序排序
dt.sort_inex(axis=1)#按行的索引进行排序
dt.sort_values(by='columns_name')#按指定列的值进行排序
dt.sort_values(by='row_name', axis=1)#按指定行的值进行排序

使用by参数进行某几列(行)排序的时候,以列表中的第一个为准,可能后面的不会生效,因为有的时候无法做到既对第一行(列)进行升序排序又对第二行(列)进行排序。

在指定行值进行排序的时候,必须设置axis=1,不然会报错,因为默认指定的是列索引,找不到这个索引所以报错,axis=1的意思是指定行索引。
 

排名

Series

s.rank(method=‘first')

对series的值进行升序排名,输出为排名,当排名相同时,输出平均排名,method=‘first’排名相同时按照值在数组中出现的顺序排序

method参数除了,first按值在原始数据中的出现顺序分配排名,还有min使用整个分组的最小排名,max是用整个分组的最大排名,average使用平均排名,也是默认的排名方式。还可以设置ascending参数,设置降序还是升序排序。

DataFrame:

dt.rank()#按列进行排名 
dt.rank(axis=1)#按行进行排名

method与ascending参数的使用与Series的相同

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pandas实现按照多列排序-ascending

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pandas怎么实现按照多列排序ascending

本篇内容主要讲解“pandas怎么实现按照多列排序ascending”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pandas怎么实现按照多列排序ascending”吧!pandas按照多列排序
2023-06-30

pandas按某列降序的实现

本文主要介绍了pandas按某列降序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-16

pandas中按行或列的值对数据排序的实现

本文主要介绍了pandas中按行或列的值对数据排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-02-27

java 中List按照date排序的实现

java 中List按照date排序的实现今天开发需要对一个list进行排序,要求对里面的date类型的属性进行排序,不多说,直接上代码。Leavecalendar这个bean类里面有属性date;private Date Date; //
2023-05-31

pandas中按行或列的值对数据排序如何实现

本文小编为大家详细介绍“pandas中按行或列的值对数据排序如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“pandas中按行或列的值对数据排序如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在处理
2023-07-05

怎么在python中实现按列排序DataFrame

怎么在python中实现按列排序DataFrame?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性
2023-06-14

python实现对数组按指定列排序

本文介绍了如何使用Python中的sort()和argsort()函数按指定列对数组进行排序。sort()直接对数组本身进行排序,而argsort()返回排序索引,提供稳定排序。此外,文章还讨论了其他排序选项,如partition()、searchsorted()和sort_complex(),并在数据分析、机器学习和图像处理等应用中举例说明了对数组排序的用途。
python实现对数组按指定列排序
2024-04-02

Java实现按照大小写字母顺序排序的方法

本文实例讲述了Java实现按照大小写字母顺序排序的方法。分享给大家供大家参考,具体如下:这里排序需要得到的结果按字母顺序。如:a-----z...import java.util.*;/** * 大小写字母的排序 * @author Adm
2023-05-30

python二维数组按列排序怎么实现

要对二维数组按列进行排序,可以使用Python的内置排序函数sorted()和lambda函数。首先,使用lambda函数指定按照某一列的值来进行排序。然后,使用sorted()函数对二维数组进行排序。下面是一个示例代码:# 二维数组
2023-10-27

Map怎么实现按单个或多个Value排序

本篇内容主要讲解“Map怎么实现按单个或多个Value排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Map怎么实现按单个或多个Value排序”吧!Map可以先按照value进行排序,然后按照
2023-07-05

DEDECMS列表页文档按权重排序的实现方法

本文实例讲述了DEDEcms列表页文档按权重排序的实现方法。分享给大家供大家参考。具体实现方法如下: 1、在list_artcile.htm模板中使用: 复制代码代码如下:{dede:list pagesize='12' orderby='
2022-06-12

python如何实现按照键或者数值对字典进行排序

这篇文章主要介绍python如何实现按照键或者数值对字典进行排序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何实现按照键或者数值对字典进行排序# 按照键或者数值对字典进行排序dict3 = {"low" : 3,
2023-06-27

C语言怎么实现对结构体数组按照某项规则进行排序

这篇文章主要讲解了“C语言怎么实现对结构体数组按照某项规则进行排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么实现对结构体数组按照某项规则进行排序”吧!一、qsort()函数vo
2023-07-05

C语言对结构体数组按照某项规则进行排序的实现过程探究

这篇文章主要介绍了C语言对结构体数组按照某项规则进行排序的实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2023-02-01

Vue组件设计之多列表拖拽交换排序功能实现

这篇文章主要介绍了Vue组件设计之多列表拖拽交换排序,常见的场景有单列表拖拽排序,多列表拖拽交换排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-18

Shell脚本实现乱序排列文件内容的多种方法(洗牌问题)

洗牌问题:洗一副扑克,有什么好办法?既能洗得均匀,又能洗得快?即相对于一个文件来说怎样高效率的实现乱序排列? ChinaUnix 确实是 Shell 高手云集的地方,只要你想得到的问题,到那里基本上都能找到答案。r2007 给出了一个取巧的
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录