文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-30 14:42

关注

本篇内容主要讲解“pandas怎么实现按照多列排序ascending”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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的索引进行排序,默认升序

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

s.sort_values(ascending=False)

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

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

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参数,设置降序还是升序排序。

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

DataFrame:

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

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

到此,相信大家对“pandas怎么实现按照多列排序ascending”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯