标签: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的相同
来源:https://blog.csdn.net/caoxinjian423/article/details/112979244


猜你喜欢
- Go 程序的性能优化及 pprof 的使用程序的性能优化无非就是对程序占用资源的优化。对于服务器而言,最重要的两项资源莫过于 CPU 和内存
- 在python2.x中 ,异常是这样的处理的,异常基类后面加一个逗号“ ,” 然后跟着异常类型import tracebackt
- 利用MySQLfs这个工具,我么可以在MySQL关系数据库中存储文件系统。MySQLfs将文件系统中文件的字节内容分解成数据库中的元组,而数
- 如下所示:RuntimeError: stack expects each tensor to be equal size, but got
- 前言:字体反爬是什么个意思?就是网站把自己的重要数据不直接的在源代码中呈现出来,而是通过相应字体的编码,与一个字体文件(一般后缀为ttf或w
- 从SQL Server2005开始提供了一种新的数据类型XML type,它允许用户将数据以XML文件的格式直接存储到数据表中。结合在ASP
- 基本配置(萌新看,大佬请跳到下一节)1、创建项目点击Create New Project创建新的项目,点击Open打开已有的项目。先选择左侧
- 所有人都知道select top 的用法,但很多人还不知道update top 和 delete top 怎么用。以往的做法是set row
- 单位内部网站第三次修改,即将进入尾声,遇到一个怪现象,就是在自定义标签中,加入链接会被替换掉成这样的格式{$GetInstallDir}ad
- 前言需要注意,对实例化的文本组件的insert、delete等操作的index**都是浮点型而不是整型**,(1.0,2.0)表示的是对第一
- 项目中涉及到一些加密解密的需求,了解并尝试了几种加密解密方法,以下:方法一:md5加密注意:md5的特性就是只能加密,所以用md5加密的时候
- 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为字
- 1.1.1 摘要 Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接、外联接和交叉联接等。如果我们想
- 前言在工作中使用的是oracle数据库,平时想在家测试一些sql是否可以跑的过,可惜自己电脑并没有安装oracle数据库,甚至完全不想安装到
- 前言k-means算法是无监督的聚类算法,实现起来较为简单,k-means++可以理解为k-means的增强版,在初始化中心点的方式上比k-
- 本文实例为大家分享了python实现K折交叉验证的具体代码,供大家参考,具体内容如下用KNN算法训练iris数据,并使用K折交叉验证方法找出
- PyMySQLPyMySQL概述PyMySQL是一个用于Python编程语言的纯Python MySQL客户端库,它实现了MySQL数据库协
- 但是问题有三个:1、我们不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子。2
- 前言:任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作。一般来说调试程序是在编写代码之后或测试期修改
- 读取binlog,方法有二:1.使用mysqlbinlog,详细用法,请参考MySQL手册2.使用MySQL的自带工具,SHOW BINLO