这篇文章主要介绍了Python实现二维数组按照某行或列排序的方法,结合具体实例形式分析了Python使用numpy模块的lexsort方法针对二维数组进行排序的常用操作技巧,需要的朋友可以参考下

本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考,具体如下:

lexsort支持对数组按指定行或列的顺序排序;是间接排序,lexsort不修改原数组,返回索引。

(对应lexsort 一维数组的是argsort a.argsort()这么使用就可以;argsort也不修改原数组, 返回索引)

默认按最后一行元素有小到大排序, 返回最后一行元素排序后索引所在位置。

设数组a, 返回的索引ind,ind返回的是一维数组

对于一维数组, a[ind]就是排序后的数组。

对于二维数组下面会详细举例。import numpy as np

>>> a

array([[ 2, 7, 4, 2],

[35, 9, 1, 5],

[22, 12, 3, 2]])

按最后一列顺序排序>>> a[np.lexsort(a.T)]

array([[22, 12, 3, 2],

[ 2, 7, 4, 2],

[35, 9, 1, 5]])

按最后一列逆序排序>>>a[np.lexsort(-a.T)]

array([[35, 9, 1, 5],

[ 2, 7, 4, 2],

[22, 12, 3, 2]])

按第一列顺序排序>>> a[np.lexsort(a[:,::-1].T)]

array([[ 2, 7, 4, 2],

[22, 12, 3, 2],

[35, 9, 1, 5]])

按最后一行顺序排序>>> a.T[np.lexsort(a)].T

array([[ 2, 4, 7, 2],

[ 5, 1, 9, 35],

[ 2, 3, 12, 22]])

按第一行顺序排序>>> a.T[np.lexsort(a[::-1,:])].T

array([[ 2, 2, 4, 7],

[ 5, 35, 1, 9],

[ 2, 22, 3, 12]])

python二维数组按照第一列排序_Python中二维数组按照某行或列排序的实现方法相关推荐

  1. R语言基于多字段(多数据列、multiple columns)对dataframe的行数据进行排序(Ordering rows)实战:使用R原生方法、data.table、dplyr等方案

    R语言基于多字段(多数据列.multiple columns)对dataframe的行数据进行排序(Ordering rows)实战:使用R原生方法.data.table.dplyr等方案 目录

  2. 【SQL开发实战技巧】系列(三十七):数仓报表场景☞从表内始终只有近两年的数据,要求用两列分别显示其中一年的数据聊行转列隐含信息的重要性

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  3. python二维数组表示_python中二维数组中的数如何表达

    python二维数组如何挑选出一定范围的数值? 比如说有一个二维数组 13.1 13.2 13.3 13.4 15.5 15.0 45.2 22.3 22.3 3 [j for i in a for ...

  4. Python:列表推导生成随机数矩阵(高教社,《Python编程基础及应用》习题4-10) (10分)---生成一个m行n列的元素值不大于20的随机数矩阵(二维列表)

    前言 PTA程序设计类教学平台-def函数 运行环境Python3.6 小白进阶之路的学习与记录之------列表 题目: 编写一个Python函数,生成一个m行n列的元素值不大于20的随机数矩阵(二 ...

  5. es6 取数组的第一个和最后一个_JavaScript数组(ES5ES6)

    无论什么编求开里框显域的标近打发指架广或计题近打发程语言,数组总是用的最多的引用数据类型之一.JS中的数组有些特殊,它不像Java那种强类型语言那样,一个数组只能存放一种类型的数据.JavaScrip ...

  6. python怎么读取excel某一行某一列-python3读取excel文件只提取某些行某些列的值方法...

    今天有一位同学给了我一个excel文件,要求读取某些行,某些列,然后我试着做了一个demo,这里分享出来,希望能帮到大家: 首先安装xlrd: pip3 install xlrd 然后上代码: imp ...

  7. Excel自学笔记 第一节 列转行【竖排转横排】和 行转列 【横排转竖排】

    由于今天遇到了一个很蛋疼的问题,就是Excel怎么会这样? 1-30日如果是竖排就是列我们可以输入 11月1日然后点下右下角的 小 +拖到月底11月30日就完成了! 可是横排就是 行却没有这样的 小加 ...

  8. oracle怎样统计多列是否重复,Oracle FORM Bulider 校验多行多列数据重复的一种方法...

    FORM Bulider开发过程中,有些界面在输入时,经常要判断输入的数据是否有重复. 本文介绍一种在多列多行校验数据的方法. 如下,完成界面上所有输入的工单不能重复的功能. 分析: 因为  FORM ...

  9. python如何统计字典里面健的数量_Python中使用Counter进行字典创建以及key数量统计的方法...

    Python中使用Counter进行字典创建以及key数量统计的方法 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python中使用Counter进行字典创建以及key数量统计 ...

最新文章

  1. 服务器被修改,我的世界
  2. java 读取oracle的blob/clob
  3. 操作系统 :银行家算法的实现(C++)
  4. centos升级内核
  5. 小黑小波比.搭建个人网站
  6. 计算机一级上机考试试题题库,2016年计算机一级上机考试题库
  7. sql java驱动程序_Microsoft SQL Server JDBC 驱动程序支持矩阵
  8. (37)Verilog HDL拼接运算:拼接操作与重复操作
  9. pivotx的entry和page内容里的日期格式修改
  10. 菜鸟学习CCNA-浮动路由
  11. C#类、方法的访问修饰符
  12. 手机奥维地图在测量中的应用
  13. python中字典的get函数是什么意思_python字典get()方法用法分析
  14. vue3 倒计时功能
  15. 数据分析岗之游戏业务类面试整理学习
  16. 超详细Redis入门教程
  17. c语言三个数从小到大排序/输出
  18. 顺丰亮出无人机杀手锏:可以载重1.2吨
  19. 微信版梦幻西游手游连接不上服务器,梦幻西游手游
  20. Spring官方文档阅读(二)之Bean的简单理解与使用

热门文章

  1. Mermaid流程图
  2. 一度智信|拼多多优惠券怎么取消
  3. 欧姆龙CJ1W-SCU模块通过串口网关功能实现Modbus RTU通信
  4. NLP入门概览(4)—— 序列标注a:隐马尔科夫模型(HMM)
  5. 云游武夷,智慧文旅促进旅游业发展
  6. SAP CO11N/CO15工单报工BADI增强出口(保存前、保存后、数据验证)
  7. BSD维基百科,自由的百科全书
  8. 基于java的消防系统
  9. python输入文字光标变成黑块_pycharm鼠标光标变成黑色方块
  10. 【Day3】【纪中OJ】2019.1.25C组每日总结