python 实现多维数组(array)排序


Posted in Python onFebruary 28, 2020

关于多维数组如何复合排序

如数组:

>>> import numpy as np
>>> data = np.array([[2,2,5],[2,1,3],[1,2,3],[3,1,4]])
>>>> data
array([[2, 2, 5],
  [2, 1, 3],
  [1, 2, 3],
  [3, 1, 4]])

将数组先按照第一列升序,第二列升序,第三列升序的方式排序:

>>> idex=np.lexsort([data[:,2], data[:,1], data[:,0]])
>>> sorted_data = data[idex, :]
>>> sorted_data
array([[1, 2, 3],
  [2, 1, 3],
  [2, 2, 5],
  [3, 1, 4]])

然后将数组按照第一列降序,第二列升序,第三列升序的方式排序:

>>> idex=np.lexsort([data[:,2], data[:,1], -1*data[:,0]])
>>> sorted_data = data[idex, :]
>>> sorted_data
array([[3, 1, 4],
  [2, 1, 3],
  [2, 2, 5],
  [1, 2, 3]])

补充拓展:python:对多维数组的降序排列

在python中,遗憾的一点是没有对多维数组按照指定维度进行降序排列的方法。

但是,有对一维数组的降序排列,这就足够了!

# Author: Right.Q
# 实现多维矩阵的逆序排列
 
def descend_sort(array):
 '''对三维数组倒序排列'''
 [height, width, channel] = array.shape
 sortArray = np.zeros([height, width, channel])
 for h in range(height):
  for w in range(width):
   sortArray[h, w, :] = sorted(array[h, w, :], reverse=True)
 
 return sortArray

形参是指定的三维数组,如果更多维的话,自动识别维度即可。

以上这篇python 实现多维数组(array)排序就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
May 24 Python
Python有序字典简单实现方法示例
Sep 28 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
python儿童学游戏编程知识点总结
Jun 03 Python
pytest中文文档之编写断言
Sep 12 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
使用pth文件添加Python环境变量方式
May 26 Python
基于Python的图像阈值化分割(迭代法)
Nov 20 Python
python中delattr删除对象方法的代码分析
Dec 15 Python
Python+Tkinter打造签名设计工具
Apr 01 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 #Python
Python使用Socket实现简单聊天程序
Feb 28 #Python
在python3中使用shuffle函数要注意的地方
Feb 28 #Python
Python对称的二叉树多种思路实现方法
Feb 28 #Python
pycharm如何实现跨目录调用文件
Feb 28 #Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 #Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 #Python
You might like
收集的PHP中与数组相关的函数
2007/03/22 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
js实现日历与定时器
2017/02/22 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
django模板语法学习之include示例详解
2017/12/17 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
幼师自我鉴定
2014/02/01 职场文书
学校联谊活动方案
2014/02/15 职场文书
升旗仪式主持词
2014/03/19 职场文书
课外访万家心得体会
2014/09/03 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
大足石刻导游词
2015/02/02 职场文书
工商行政处罚决定书
2015/06/24 职场文书