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程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apache camel_Apache Camel Intellij IDEA插件的工作已开始

apache camel仅仅因为圣诞节并不意味着骆驼静止不动。 在23日晚上,我花了一些时间进行研究,并开始研究IDEA的Apache Camel插件的小原型。 它已经存在了我很长时间。 原因是Apache Camel为目录提供了有关工具的大量有用信息。 该目录包含有关每个Camel组…

Final Cut Pro X剪辑影片基本步骤

文章目录一、资源库、事件、项目之间的区别二、制作一个视频的步骤(一)创建资源库(二)创建事件(非必需)(三)导入资源(四)创建项目(五)进行剪辑(六…

python储存_python数据储存

python数据储存 csv文件的操作 安装csv包 打开cmd 执行 pip install csv 引入的模块名为csv 读取文件 with open("xx.csv","r") as f: read_datacsv.reader(f) for i in read_data: print(i)//打印表的全部元素 print(i[0])//打印表的第一列元素 1 2 3 4 5…

android+udp传输大小,Android UDP数据包如何接收可变大小的数据包

我有一个Android应用程序,它监视UDP数据包并调用一个方法来处理收到的消息。我有一个问题,如果传入的消息更长,它将调用方法来处理消息。但是如果传入的消息较短,则不会调用该方法,但如果我发送短消息两次,…

单例模式引发的内存泄漏:_资源泄漏:救援的命令模式

单例模式引发的内存泄漏:多年来, 使用Plumbr进行性能监控时,我遇到了数百个资源泄漏引起的性能问题。 在这篇文章中,我想描述一种最简单的方法来清理资源并避免该问题。 首先,我以电影播放器​​应用程序为例来描述问题。 这种应…

使用 ssh 命令来访问(登录/连接)远程服务器主机

打开 terminal 客户端,输入如下命令语句: ssh root119.119.10.5; // ssh 登录用户名称远程主机IP地址

android json 斜杠,Android中Json数据去掉斜杠

数据如下:["{"STCD":"172017156159","ItemID":"0003002","TM":"2020-01-16 19:20:10","NFOINDEX":0,"DATAVALUE":0,"DATATYPE":0}","{"STCD"…

ant构建项目迁移到gradle_Gradle这么弱还跑来面腾讯?

点击上方“刘望舒”,选择“星标”多点在看,就是真爱作者: 厘米姑娘(腾讯开发妹子)| 来源 :公号 码个蛋https://www.jianshu.com/p/1274c1f1b6a4前言在使用Android Studio过程中没少被Gradle坑过,虽然网上有很多简单粗暴的解决方案…

java heroku_使用Spring Boot和Heroku在20分钟内完成Java的单点登录

java heroku建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现。 注册 ,再也不会建立auth了! 大规模更新 我最初为本文…

如何使用SSH客户端远程操作linux系统,并启动、关闭tomcat和查看后台日志

cd … 表示回退到上一级目录 ls 表示查看当前目录下的所有文件 我们的tomcat安装路径在usr\local\yzmis\下面找 例如你要关闭信誉质量考核系统所在的tomcat,你要进入test下去找到apache-tomcat-6.0.14 再进入bin目录下,然后执行[trserver100 bin]$ ./sh…

极光推送android点击跳转页面,app关闭时点击推送消息实现页面跳转

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {//推送注册var str:NSString UIDevice.currentDevice().systemVersionvar version:Float str.floatValueif version > 8.0 {APService…

模块pdf2image.dll加载失败_Webpack 原理从前端模块化开始

当前主流 JS 模块化方案无模块化CommonJS 规范,nodejs 实现的规范AMD 规范,requirejs 实现的规范CMD 规范,seajs 实现的规范, seajs 与 requirejs 实现原理有很多相似的地方 u ES Modules,当前 js 标准模块化方案注意:…

drools dmn_Drools 7支持DMN(决策模型和表示法)

drools dmn决策模型和表示法(DMN)规范是OMG(对象管理组)相对较新的标准,旨在为业务规则和业务决策提供服务。 BPMN(它的兄弟规范)用于业务流程:标准化表示法和执行语义,…

ios html正则表达式,ios 正则表达式去html标签

ios 正则表达式去html标签[2021-01-27 12:53:55] 简介:php正则表达式去掉html的方法:首先使用“htmlspecialchars_decode” 将特殊的HTML实体转换回普通字符;然后通过正则表达式“preg_replace(/]>/,,$_st系统运维正则表达式概述基础正则表达式扩展正…

PL/SQL工具执行SQL脚本文件

方法一:在命令窗口中输入SQL>E:\prestigereport.sql 方法二:工具菜单下的【导入表】,选择SQL插入后选中需要导入的sql脚本文件。

java开发五年面试经验_只有经验丰富的开发人员才能教您有关Java的5件事

java开发五年面试经验深入研究Java之前需要了解的所有内容的概述 有许多工具,方法,环境和功能会改变您处理代码的方式,而这些通常是在学年期间不会遇到的。 虽然它在Java开发世界中迈出了第一步,但大多数实际学习都是在工作中进行…

python合并excel工作簿_Python合并多个Excel工作簿

# -*- coding: utf-8 -*- #导入需要使用的包 import xlrd #读取Excel文件的包 import xlsxwriter #将文件写入Excel的包 #打开一个excel文件 def open_xls(file): f xlrd.open_workbook(file) return f #获取excel中所有的sheet表 def getsheet(f): return f.sheets() #获取sh…

中间表、关系表、关联表

中间表关系表关联表,保存表与表之间的记录(数据)对应关系,表保存的基本上是ID值,如果还保存其它的数据就不能认为是关系表,而且也无法真正体现数据记录之间的对应关系。

neo4j 两个点创建关系_Neo4j:找到两个纬度/经度之间的中间点

neo4j 两个点创建关系昨天我写了一篇博客文章,展示了如何使用Cypher查找两个纬度/经度之间的中点,这是第一次尝试填补缺失位置时的效果,但是我意识到我可以做得更好。 正如我在上一篇文章中提到的,当我找到一个缺少经纬度坐标的停…