Python实现二维数组按照某行或列排序的方法【numpy lexsort】


Posted in Python onSeptember 22, 2017

本文实例讲述了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 相关文章推荐
python使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
TensorFlow深度学习之卷积神经网络CNN
Mar 09 Python
教你利用Python玩转histogram直方图的五种方法
Jul 30 Python
Python判断telnet通不通的实例
Jan 26 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
pytorch动态网络以及权重共享实例
Jan 06 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
Django自定义列表 models字段显示方式
Apr 03 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
哪种Python框架适合你?简单介绍几种主流Python框架
Aug 04 Python
python自动计算图像数据集的RGB均值
Jun 18 Python
Python中列表list以及list与数组array的相互转换实现方法
Sep 22 #Python
Python实现字符串与数组相互转换功能示例
Sep 22 #Python
Python中用post、get方式提交数据的方法示例
Sep 22 #Python
利用python操作SQLite数据库及文件操作详解
Sep 22 #Python
Python正则表达式知识汇总
Sep 22 #Python
python3实现全角和半角字符转换的方法示例
Sep 21 #Python
python实现二分查找算法
Sep 21 #Python
You might like
PHP在Web开发领域的优势
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(4)
2006/10/09 PHP
PHP安全性漫谈
2012/06/28 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
php调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
PHP Opcache安装和配置方法介绍
2015/05/28 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
JS实现self的resend
2010/07/22 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
Python 通配符删除文件的实例
2018/04/24 Python
详解python 爬取12306验证码
2019/05/10 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
电子邮箱格式怎么写
2014/01/12 职场文书
企业出纳岗位职责
2014/03/12 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
教师党员整改措施
2014/10/24 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
Windows11里微软已经将驱动程序安装位置A盘删除
2021/11/21 数码科技