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语言编写电脑时间自动同步小工具
Mar 08 Python
Python中用Decorator来简化元编程的教程
Apr 13 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
python实现QQ空间自动点赞功能
Apr 09 Python
wxpython布局的实现方法
Nov 01 Python
Python实现密码薄文件读写操作
Dec 16 Python
pytorch 指定gpu训练与多gpu并行训练示例
Dec 31 Python
keras输出预测值和真实值方式
Jun 27 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 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
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
CI框架常用方法小结
2016/05/17 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
vue项目引入字体.ttf的方法
2018/09/28 Javascript
Python中用max()方法求最大值的介绍
2015/05/15 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python实现机器人卡牌
2019/10/06 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
Python with语句用法原理详解
2020/07/03 Python
python 实现IP子网计算
2021/02/18 Python
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
Java基础知识面试要点
2016/07/29 面试题
高级销售员求职信
2013/10/25 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
八一慰问活动方案
2014/02/07 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
大学活动总结模板
2014/07/10 职场文书
水电维修专业推荐信
2014/09/06 职场文书
遗失证明范文
2015/06/19 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS