请问各位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

2个回答

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

图片说明

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

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

gaotianyu824
Marval-C 谢谢您!! 实在感谢
10 个月之前 回复

并不是每一列都执行排序,在第一列相同的时候才会去比较第二列.你这数据第一组已经排序了.如果按照你的意思的话,那这个datsframe的数据就被破坏了.

gaotianyu824
Marval-C 嗯嗯,谢谢您的解答!
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
pandas基础__之__对数据进行筛选和排序
pandas基础__之__对数据进行筛选和排序
MYSQL对多列进行排序
数据 类型 编号 工号 单科 201601 111 单科 201601 112 单科 201602 113 单科 201602 114 单科 201602 115 单科 201603 116 短期 201601 111 短期 201602 112 短期 201602 ...
Mysql 对多列进行排序
4.4.2 对多列进行排序 http://book.51cto.com 2008-06-04 16:14 马军/李玉林等编著 电子工业出版社 我要评论(0) * 摘要:《SQL语言与数据库操作技术大全:基于SQL Server实现》第4章主要讲的是基本的查询,所谓查询就是让数据库服务器根据客户端的要求搜寻出用户所需要的信息资料,并按用户规定的格式进行整理后返回给客户端。本节...
使用python pandas对多列进行分组统计
使用groupby([ ]).size()统计的结果,值相同的字段值会不显示 如上图所示,第一个空着的行是982499 7 3388 1,因为此行前面一行的这两个字段值是一样的,所以不显示。第二个空着的行是390192 22 4278 1,因为此行前面一行的第一个字段值是一样的,所以不显示。这样的展示方式更直观,但对于刚用的人,可能会让其以为是缺失值。 如果还不明白可以看下面的全部数据及操作。 ...
pandas中对series和DataFrame进行排序
pandas中对series和DataFrame进行排序的函数是sort_index()和sort_values(),其中sort_index()是按照索引来排序,sort_values()是按照值来进行排序。 #coding=utf-8 import pandas as pd import numpy as np #以下实现排序功能。 series=pd.Series([3,4,1,6],in...
pandas对数据中缺失值进行处理
pandas对数据中缺失值进行处理 如图首先利用pd.isnull(age)函数找出age数组中年龄为空的数据,如果年龄的数据为空值,则函数返回结果为True,否则为False。并将返回的数组age_is_null中的True值当作索引来输出年龄不为空的数据。age[age_is_null == False]。如图:年龄为空的数据被过滤掉了。 ...
excel如何对多列进行排序
比如有下面这么些数据,希望得到第一列从小到大,对每一个第一列的值,第二列从小到大,类似的,对每一个第二列的值,第三列从小到大,……。谢谢rn0.1 10 4 10 8191rn0.1 10 8 10 8191rn0.1 20 4 1 8191rn0.1 20 4 10 8191rn0.1 20 4 49 8191rn0.3 1 16 15 2048rn0.3 1 16 15 8191rn0.3 1 16 5 2048rn0.3 1 16 5 8191rn0.3 1 28 5 2048rn0.3 1 28 5 8191rn
Python技巧之对DataFrame进行多列排序
之前网上硬是没找着怎么对dataframe先排一列,若有相同再根据另一列排后来乱试试出来了(直接查api估计最快,可我不想看英文。。。。)如图
如何对sql检索出的数据进行多列排序?
不废话 直接来多列排序的需求很常见比如: 按姓和名排序 先按名字排序 然后再在同一姓中按名排序比如:在产品表中 先按价格排序再按产品名称排序sql语句如下:SELECT pro_id, pro_price, pro_nameFROM productORDER BY pro_price,pro_name是不是很简单...
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],[
请问如何对Clientdataset的数据进行排序??????????
请问如何对Clientdataset的数据进行排序??????????rnrn由于clientdataset是由XMLTransformProvider控件提供数据,所以不能用sql语句进行排序,但clientdataset控件也没有提供排序的功能,请问怎样实现排序?????????????
如何对多列数据进行筛选
在一个数据表中的多列,只要有一列满足,我就要选择该数据,怎么用select写??rn如:rn 人名 吃饭 睡觉 喝水 洗澡 。。。。。。rn 小王 1 rn 小李 1rn 小生 1rn 小菜rnrnrn我想只要有在2-5列中只要 有1出现 就选择该行数据 不然不显示
repeater控件中,如何对数据进行排序。各位大师
rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn如何按照label的ID为ttl的大小来排序
.net对数据进行排序
我有个数据表rnrnnumrnrn好 中 差rn3 2 5rnrnrn每条数据都有这个rnrnrn好的票数*3+中的票数*2-差的票数*5rnrnrn按照总的得分排序rnrn这个怎么写程序啊~~rnrnrnrn
SQLSERVER 对数据进行排序
1.修改语句  update 表名 SET 排序的字段= rownum from(         select 排序的条件,排序的字段, ROW_NUMBER() over(order by 排序的字段) rownum from 表名 WHERE 排序的条件='...'     ) 表名  WHERE 的='...' [ update Dcl_Decl_Goods SET Goods
对排序数据进行分析
本课程主要使用C#图形技术,绘制各种统计图表,如面形图、柱状图、折线图、饼图等。
对一组数据进行排序
对于给数据排序的问题,首先要考虑的是数据有什么样的特征? 有没有可能包含有大量的重复的元素?   如果有这种可能的话,三路快排是最好的选择。 是否大部分数据距离它的正确的位置很近?是否近乎有序?   如果这样,插入排序是很好的选择。 是否数据取值的范围非常有限?比如对学生的成绩排序。   如果这样,计数排序是很好的选择 对排序有什么额外的要求?  
对TClientDataSet中的数据进行排序
在三层数据库程序中,客户端使用了TClientDataSet控件,数据从服务器取来之后,存放在TClientDataSet中。rn请教高手:怎样按字段,对数据进行排序,既要有升序,要能按降序?
如何对clientdataset中的数据进行排序?
下面的代码实现了升序的排序,但如何实现降序呢?rnprocedure Tmoduleform.DBGrid1TitleClick(Column: TColumn);rnbeginrn if clientdataset1.IsEmpty thenrn exit;rn clientdataset1.IndexFieldNames:=column.FieldName;rnend;rnrn在ADO中有个sort可以实现。现在是clientdataset,我就不知道如何实现了,请各位大侠指教。
对2000000数据进行排序
文件y中的数据格式为:rnA段|B段|(如:8613570282030|460000210732030|)rnrn数据量:rn2000000rnrn要求:rn1、将文件中的数据以A段为排序字段进行排序,并输出到文件Arn2、将文件中的数据以B段为排序字段进行排序,并输出到文件Brn3、需计算两次排序处理过程所需要的时间(如数据装载时间、排序时间),以毫秒为单位
对集合数据进行排序
//传入需要比对的数据集合 public void setData(List orderDetail){ //这是系统提供的比较方法 //传入两个参数 当前需要比对的数据集合 Collections.sort(orderDetail, new Comparator() { /** * * @param ...
MFC 对数据进行排序
MFC 中有没有办法对数据 进行小到大 或者大到小 进行排序啊rnrn注意: 我是自己定义2个按钮。一个小 到大排序,一个大到小排序
在ListView中对数据进行排序
本案例介绍了如何在ListView中对数据进行排序,需要的朋友请看看
怎样对datagrid中的数据进行排序
datagrid已经可以显示数据,想要点击某一列名时,就能够以该列排序,怎样做到?
SQLite中对数据进行排序
在数据库中根据查询显示ListView数据,我希望能实现查询的数据进行排序,然后将排序后的数据存储在cursor对象中,怎么排序listview?rnrn能不能通过名字进行排序?rnrn Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + "=" + passId, null, null, null, null);
如何对DBGrid中的数据进行排序?
如题
对JSONObject中的数据进行排序
-json字符串的格式如下:     -{      "data": {      "sort": {       "fields": [         "open_px",         "last_px",         "high_px",         "low_px"       ],       "603018.SS": [         61.97,
求对txt中的数据进行排序....
问题一:rn现有一个记事本文件,里面有大概一百万条数字记录,现在要对其进行排序,请问用什么排序方法最快.....能否借源码一阅rnrn问题二:rn现有一个记事本文件,里面有大概一百万条记录,其中有些记录是重复的,,,,我想按重复的次数,对其重新排序,重复次数最多的排在最前面,rnrn谢谢
C# 对Excel表格中的数据进行排序
我们可以对Excel中的一列或多列数据进行排序,本文将介绍以下三种排序方式:基于单元格的值基于单元格的背景颜色基于单元格的字体颜色本文所使用的Dll为Spire.XLS,安装后,需要从安装目录Bin文件夹下引用Spire.Xls.dll文件到项目中。1.基于单元格的值//创建Workbook实例 Workbook workbook = new Workbook(); //加载Excel文档 wor...
对数据表中的数据进行排序
我的表单中有个数据表,里面有很多字段,如编号,名称,日期。rnrn我想加一个下拉的文本框,里面有按编号排序,按日期排序,rnrnrn请问这样的代码改如何写。
如何对DataSet中的数据进行排序
因为我一个DataSet中的数据不是直接取自数据库,所以不能在sql语句中加order by.而我又想对其中数据进行排序,我考虑的做法是,因为里面只有一张表,所以就把这个DataTable转成DataView,然后排序,再通过dataView.Table.DataSet转回成一个DataSet.rn可是,这个办法大部分情况下都可以,可是有几个就是没有,一旦转成DataTable的时候排序就失效了.
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) ...
linq对datatable多列排序
[code=C#] private void TestSortLinq()rn rn string idColumnName = "ID";rn string nameColumnName = "Name";rn string phoneColumnName="Phone";rn string addressColumnName="Address";rn DataTable testDT = new DataTable();rn testDT.Columns.AddRange(rn new DataColumn[] rn new DataColumn(idColumnName,typeof(System.String)),rn new DataColumn(nameColumnName,typeof(System.String)),rn new DataColumn(phoneColumnName,typeof(System.String)),rn new DataColumn(addressColumnName,typeof(System.String)));rnrn rn for (int i = 0; i < 20; i++)rn rn Random _rd = new Random(i);rn DataRow row = testDT.NewRow();rn row[idColumnName] = idColumnName + _rd.Next(i).ToString();rn row[nameColumnName] = nameColumnName + _rd.Next(i).ToString();rn row[phoneColumnName] = phoneColumnName + _rd.Next(i).ToString();rn row[addressColumnName] = addressColumnName + _rd.Next(i).ToString();rn testDT.Rows.Add(row);rn rn testDT.TableName="testDT";rnrn IEnumerable rows = from p in testDT.AsEnumerable()rn select p;rnrn #region 没问题rn rows = rows.CopyToDataTable().AsEnumerable().OrderBy(s =>rn decimal.Parse(Regex.Match(s[idColumnName].ToString(), @"\d+").Value));rnrn testDT = rows.CopyToDataTable();rn #endregionrn #region 有问题rn rows = rows.CopyToDataTable().AsEnumerable().OrderBy(s => newrn rn //虽然现在这里只写了两个,但是有可能是三个或者是四个或者是一个,请问这里怎么写成动态的orderby语句rn id = decimal.Parse(Regex.Match(s[idColumnName].ToString(), @"\d+").Value),rn name = decimal.Parse(Regex.Match(s[nameColumnName].ToString(), @"\d+").Value) rn );rn testDT = rows.CopyToDataTable();rn #endregionrn [/code]rnrnrn大家看下我的代码就知道我说的什么了:1是为什么第二种写法会报错,2,如何写一个动态的orderby语句
pandas:数据查看与排序
<p>rn <p>rn 20周年限定一卡通!<span style="color:#337FE5;">可学Python全部课程</span>,仅售799元(原价1792元),<span style="color:#E53333;">还送漫威正版授权机械键盘+CSDN 20周年限量版T恤+智能编程助手!</span>rn </p>rn <p>rn 点此链接购买:rn </p>rn <table>rn <tbody>rn <tr>rn <td>rn <span style="color:#337FE5;"><a href="https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy" target="_blank">https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy</a><br />rn</span>rn </td>rn </tr>rn </tbody>rn </table>rn</p>rn<p>rn 购买课程后,可扫码进入学习群<span style="font-family:&quot;">,获取董付国老师答疑</span> rn</p>rn<p>rn <img src="https://img-bss.csdn.net/201908070523526995.jpg" alt="" /> rn</p>rn<p>rn 董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。rn</p>
DataGridView怎样进行多列排序
VS2005,怎么对datagridview进行多列排序?rn实现像SqlServer那样column1 asc,column2,column3 desc
pandas 对每一列数据进行标准化
两种方式 >>> import numpy as np >>> import pandas as pd Backend TkAgg is interactive backend. Turning interactive mode on. >>> np.random.seed(1) >>> df_test = pd.DataFrame(np.random.randn(4,4)* 4 + 3) >>
利用Pandas对数据进行处理
Pandas数据处理现有一数据集Data.out,通过Pandas提取数据并绘制曲线。提取内容下图所示:工具:Pycharm,Python2.7,Pandas,Numpy,matplotlib#导入所需要库import pandas as pd import numpy as np import re import matplotlib as mpl import matplotlib.pyplo...
使用Pandas对数据进行处理
今天做了一个小小的测试,使用pandas提供的方法将某一列值为null的数据将其值改为0并显示,以下是示例代码:df=pd.read_csv('./firstCompition/ccf_offline_stage1_train.csv') # print df.values # print df.isnull().any() # print df.loc[:,['Coupon_id']] df[df
pandas怎样对数据进行遍历
pandas.DataFrame.iterrowsDataFrame.iterrows() 迭代(iterate)覆盖整个DataFrame的行中,返回(index, Series)对。import numpy as np import pandas as pddef _map(data, exp): for index, row in data.ite
利用pandas对数据进行基本清洗
首先贴上两个介绍python中pandas库的链接pandas简单数据处理、十分钟搞定pandas(英文版)以及网友的简单翻译十分钟搞定pandas(中)这些内容在初学python处理大数据十分有效。这次的内容是在给定的数据集对数据作一个简单的z-score的标准化处理,数据集可以自行弄一个怎么样的数据集都行。 我的数据集存放在./bug/下名称分别为1..34.txt。以下是处理代码import
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池