请问各位pandas中set_values对多列数据进行排序的问题

请问一下各位,这个地方我想对多列同时进行排序,写法按说没有任何问题,可是为什么最后的排序结果只针对by里面的第一个参数,后两列完全没按照我设好的False\True顺序排序呀。。
请问下是为什么,难道是我对sort_values()这个函数对多列进行排序存在误解。。

 frame = pd.DataFrame({'b':[4.,7,-3,2],'a':[0.,1,0,1],'c':[56,32,13.,2]})
frame = frame.sort_values(by = ['b','a','c'],ascending = [True,False,True])
frame
0

1个回答

如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

图片说明

多列排序,是指前一列相同的时候。比较后一列,前一列不同,则不管后面,你注意看我的演示。

好比按年龄、姓名排序(假设都是升序)的意思是,27岁排在26岁后面,都是27岁,老李排在老张前面。但是如果老张25岁,哪怕张比李大,也是老张在前面。

1
gaotianyu824
Marval-C 谢谢您!! 实在感谢
6 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python技巧之对DataFrame进行多列排序
之前网上硬是没找着怎么对dataframe先排一列,若有相同再根据另一列排后来乱试试出来了(直接查api估计最快,可我不想看英文。。。。)如图
使用python pandas对多列进行分组统计
使用groupby([ ]).size()统计的结果,值相同的字段值会不显示 如上图所示,第一个空着的行是982499 7 3388 1,因为此行前面一行的这两个字段值是一样的,所以不显示。第二个空着的行是390192 22 4278 1,因为此行前面一行的第一个字段值是一样的,所以不显示。这样的展示方式更直观,但对于刚用的人,可能会让其以为是缺失值。 如果还不明白可以看下面的全部数据及操作。 ...
pandas基础__之__对数据进行筛选和排序
pandas基础__之__对数据进行筛选和排序
pandas多级分组如何排序
pandas有groupby分组函数和sort_values排序函数,但是如何对dataframe分组之后排序呢?
Pandas详解十六之groupby分组后分开运算
约定 import pandas as pd import numpy as np groupby分组后分开运算 Groupby对象支持迭代,当我们分组后想保存分组结果而不想运算,或者分别对每组进行不同的运算,这时是十分有用的。 1 创建 df1=pd.DataFrame({'Data1':np.random.randint(0,10,5),'Data2':np.random.ran...
pandas使用apply多列生成一列数据
import pandas as pd def my_min(a, b): return min(abs(a),abs(b))s = pd.Series([10.0247,10.0470, 10.0647,10.0761,15.0800,10.0761,10.0647,10.0470,10.0247,10.0,9.9753,9.9530,9.9353,9.9239,18.92,9.9239...
Pandas apply函数同时对多列进行操作及groupby函数
DataFrame.apply(func, axis=0, broadcast=None, raw=False, reduce=None, result_type=None, args=(), **kwds): 其中axis=0对行操作;axis=1代表对列操作 def add_crits(crit1,crit2,crit3): return (crit1+crit2+crit3) ...
【Python学习系列二十二】pandas数据筛选和排序
在Pandas中通过.sort和.loc函数也可以实现这两 个功能。.sort函数可以实现对数据表的排序操作,.loc函数可以实现对数据表的筛选操作。 1、排序 sort函数主要包含6个参数:columns为要进行排序的列名称; ascending为排序的方式true为升序,False为降序,默认为true;axis为排序的轴,0表示index,1表示columns,当对数据列进行排序时,ax
Pandas分组与排序
一、pandas分组 1、分组运算过程:split->apply->combine 拆分:进行分组的根据 应用:每个分组运行的计算规则 合并:把每个分组的计算结果合并起来 2、分组函数 DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_ke...
如何对sql检索出的数据进行多列排序?
不废话 直接来多列排序的需求很常见比如: 按姓和名排序 先按名字排序 然后再在同一姓中按名排序比如:在产品表中 先按价格排序再按产品名称排序sql语句如下:SELECT pro_id, pro_price, pro_nameFROM productORDER BY pro_price,pro_name是不是很简单...
Pandas:排名与排序
import numpy as np import pandas as pd from pandas import Series,DataFrame 一、排序 1.按索引排序 Series s = Series([3,1,7,0],index=['c','d','a','b']) s.sort_index() a 7 b 0 c 3 d 1 dtype...
【pandas】apply方法传入dataframe多列进行函数操作
参考:dataframe.apply官方文档 How to apply a function to two columns of Pandas dataframe python pandas- apply function with two arguments to columns            在处理数据的时候想做时间的转换,抽取生日(格式如 1994-10-5)提取月份和日期...
pandas 使用apply同时处理两列数据
df = pd.DataFrame ({'a' : np.random.randn(6), 'b' : ['foo', 'bar'] * 3, 'c' : np.random.randn(6)}) def my_test(a, b): return a + b df['Value'] = df.apply(lambda row: my...
pandas 使用apply同时处理两列数据的方法
多的不说,请看代码~df = pd.DataFrame ({'a' : np.random.randn(6), 'b' : ['foo', 'bar'] * 3, 'c' : np.random.randn(6)}) def my_test(a, b): return a + b df['Value'] = df.apply(lambda row: my_test(row...
pandas(一)-数据过滤与排序
import pandas as pd #在df中取某列,比如name df.name df['name'] #取多列 df[['name','age']] #计数 df.name.count() #查看df信息,info df.info() #查看有多少列 df.shape[1] #查看多少行 df.shape[0] #排序,以values排序,以index排序 #sort参数,as...
Pandas 同元素多列去重
有一些问题可能会遇到同元素多列去重问题,下面介绍一种非常简单效率也很快的做法,用pandas来实现。 首先我们看一下数据类型: G1 G2 a b b a c d d c e f 对这样的两列数据进行同元素去重,最终得到结果为: G1 G2 a b c d e f 代码如下: #-*- coding: utf-8 -*- data = {'G1':['
Pandas:多级索引的操作--调整顺序、排序、汇总、指定列为索引
import numpy as np import pandas as pd from pandas import Series,DataFrame df = DataFrame(np.arange(12).reshape((4,3)), index = [['a','a','b','b'],[1,2,1,2]], columns...
MapReduce实现数据去重、数据排序、求平均值、多列单行输出
写这篇博客的目的: 1、简单实现数据去重 其实就是将数据的个数设置成空值,输出不显示就OK了 2、简单实现数据排序 因为MapReduce会自动根据key值按字典序排序,所以我们将数据转化为IntWritable类型作为key值即可 3、简单的求成绩平均值(单个文件和多个文件) 分割数据,然后将成绩转化成IntWritable类型,求平均值写入即可 4、将人名对应数据(多列)单行输出 其实
Pandas详解十二之排序和排名
约定: import pandas as pd import numpy as np 排序和排名 根据条件对Series对象或DataFrame对象的值排序(sorting)和排名(ranking)是一种重要的内置运算。 接下来为大家介绍如何使用pandas对象的:sort_index() / sort_values() / rank() 方法。 一、对Ser...
【数据平台】pandas将一列中的文本拆分成多行
1、场景:如下图,要将cont中的字符串分割出词汇并单独成一行        2、一列中的文本拆分成多行的效果: 3、实现方法: 方法一: df=df.drop('cont', axis=1).join(df['cont'].str.split('/', expand=True).stack().reset_index(level=1, drop=True
pandas数值计算与排序
以下代码是基于python3.5.0编写的 import pandas food_info = pandas.read_csv("food_info.csv") # ---------------------特定列加减乘除------------------------- print(food_info["Iron_(mg)"]) div_1000 = food_info["Iron_(m
Pandas之数据标准化
数据标准化:将数据按比例缩放,使之落入到特定区间,一般我们使用0-1标准化。公式:X=(x-min)/(max-min)from pandas import read_csv; df = read_csv("E:\\pythonlearning\\datacode\\firstpart\\4\\4.14\\data.csv"); scale = (df.score-df.score.min()...
使用Pandas对数据进行筛选和排序
使用Pandas对数据进行筛选和排序
Pandas玩转数据(二) -- Series和DataFrame排序
import numpy as np import pandas as pd from pandas import Series, DataFrame # Series排序 s1 = Series(np.random.randn(10)) s1 Out[5]: 0 -1.293472 1 0.017588 2 -0.654741 3 0.495720 4 -1.6263...
Mysql 对多列进行排序
4.4.2 对多列进行排序 http://book.51cto.com 2008-06-04 16:14 马军/李玉林等编著 电子工业出版社 我要评论(0) * 摘要:《SQL语言与数据库操作技术大全:基于SQL Server实现》第4章主要讲的是基本的查询,所谓查询就是让数据库服务器根据客户端的要求搜寻出用户所需要的信息资料,并按用户规定的格式进行整理后返回给客户端。本节...
Python多级排序(多属性排序)csv文件
处理csv文件时,经常用到多级或者多属性排序,我们可以使用如下方式轻松搞定多级排序。 Python 2.x使用如下代码:先按照第一列即x[0]升序排序,再按照第二列即x[0]升序排序。如需降序排列,需在sorted函数体内加上reverse = True。 import sys, csv , operator data = csv.reader(open ('C:\test.csv')
Pandas数据基础(索引、排序、连接、去重、分箱、异常处理)
原文地址:http://kekefund.com/2016/02/23/pandas-anlysis-basic/使用pandas,首先导入包:from pandas import Series, DataFrame import pandas as pd 123123一、创建Series,DataFrame1,创建Seriesa,通过列表创建obj = Series([4, 7, -5, 3])
【1.4】Pandas学习—pandas对列进行合并
列直接拼接
MYSQL对多列进行排序
数据 类型 编号 工号 单科 201601 111 单科 201601 112 单科 201602 113 单科 201602 114 单科 201602 115 单科 201603 116 短期 201601 111 短期 201602 112 短期 201602 ...
Pandas技巧:将一列分隔成多个列
项目中遇到一个问题,搜集的数据只有一列,每行的数据都是通过特殊字符分隔,现在需要将其分隔成多个列。 原始数据如下: 0 0 155,NA,0,10,-99999,18,18,18,04,NA,0,-99999... 1 728,NA,24.1,74.81,-9999,18,18,18,-99999,... 这是前两行的数据。原本使用特殊字符分隔的,这个好处理,只需通过string的repl...
pandas 按照某一列进行排序
pandas排序的方法有很多,sort_values表示根据某一列排序 pd.sort_values("xxx",inplace=True) 表示pd按照xxx这个字段排序,inplace默认为False,如果该值为False,那么原来的pd顺序没变,只是返回的是排序的    python 判断一个数是否是NaN >>> import...
pandas(二)数据分组
import pandas as pd #一个df,有name,age,gender,school等columns #求以学校为单位,统计学生的平均年龄 df.groupby('school').age.mean() #以学校为单位的age列数据的描述性统计值 #描述性统计包含,项目计数count,各列平均值mean,最大最小,min,max,方差std,下四分位25%,中位数50%,上四分...
python使用pandas模块实现字符串处理去重排序excel生成
最近学习python,用python实现一个小需求,最后写入excel使用到pandas模块: 某中学学生在500米短跑训练比赛中的数据,体育老师把学生成绩结果记录在文件中(studentdata.txt),记录格式如下: 卡纳瓦, c0235-11,3:27,3:33,3-46,3-41,3:39,3:40,3.48,3:42,3:22 含义:学生姓名,学号,短跑成绩 体育老师把每个学生数据...
Python:使用pandas按某一给定的txt进行排序
最近使用Keras参加了一个深度学习方面的图像分类比赛,在结果提交的过程中,要求按照所给的TXT进行排序,然后提交结果:但是问题来了,在test这个文件夹中图片的顺序和test.txt的顺序居然不一样!,并且就算是一样的,在使用keras的flow_from_directory函数批量读取匹配的时候,顺序也会发生变化!因此,必须实现一种方法,将预测结果按照test.txt的顺序进行排列。一张图概括...
pandas排序与统计
《Python for Data Analysis》 排序 sort_index() 对行或列索引进行排序 In [1]: import pandas as pd In [2]: from pandas import DataFrame, Series In [3]: obj = Series(range(4), index=['d','a','b','c']) ...
pandas中DataFrame和Series对象的排序方法的说明
       pandas中的DataFrame是我们在数据分析时最常用到的一类数据结构,而在数据分析时,对数据进行排序也是经常用的一种操作,因此,本文将针对DataFrame的排序问题进行一个详细的说明。        对DataFrame对象排序可以分为对索引排序和对值排序。首先看对索引进行排序,利用DataFrame的sort_index()方法,其中有两个参数为axis和ascendin...
pandas学习:对series和dataframe进行排序
本问主要写根据索引或者值对series和dataframe进行排序的方法 代码: #coding=utf-8 import pandas as pd import numpy as np #以下实现排序功能。 series=pd.Series([3,4,1,6],index=['b','a','d','c']) frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[
pandas pivot_table() 按日期分多列数据
    date 20170307 20170308 iphone4 2 0 iphone5 2 1 iphone6 0 1 先生成DF数据。 >>> df = pd.DataFrame.from_dict([['ip4','20170307',1],['ip4','20170307',1],['ip5','2...
Pandas 操作多个列进行运算,并生成新列的方法
pandas 实现对一行中的多个列运算 ,生成新的列的方法, 之前找了很久没找到,后来发现其实就是eval方法,非常好用。 df.eval('new1 = 气温 + 湿度 + PM2P5' , inplace=True) inplace参数: 是否在原数据上操作。 inplace=False 将会生成新的DataFrame 一次新增多个列可以使用 df.eval(""...
pandas中Groupby的使用(三)-根据dtype对列进行分组
#-*- coding:utf-8 -*- import pandas as pd import numpy as np df=pd.DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'], 'data1':np.random.randn(5),'data2':n
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python中pandas教程 java 对学生进行组班