python 实现多维数组(array)排序
作者:caoxuemei12 发布时间:2022-03-26 07:35:48
标签:python,多维数组,array,排序
关于多维数组如何复合排序
如数组:
>>> 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
形参是指定的三维数组,如果更多维的话,自动识别维度即可。
来源:https://blog.csdn.net/daoxiaxingcai46/article/details/78391169
0
投稿
猜你喜欢
- 我们小组讨论的话题是tab(标签)在使用时的禁忌。在讨论的开始,大家很快产生了六个感兴趣的话题:如何处理海量的tab?在浏览器中关掉tab之
- master库对于SQLServer来说,是很重要的系统数据库,保存着所有Sqlserver的用户信息、数据库信息等,当数据库崩溃时,mas
- 合理地扩大页面链接响应区域可以提高网页的易用性。同时还要兼顾到链接的交互一致性以及视觉上的平衡,就需要做一些特殊的处理。实例一:一张图配一个
- 一、匿名块和命名块◆PL/SQL块分为良好总:命名块和匿名块。◆匿名块:以declare或begin开始,每次执行匿名块都要通过客户端工具将
- a {}{ background:url(images/normal.gif); } a:ho
- MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列
- slice(切片)是 go 里面非常常用的一种数据结构,它代表了一个变长的序列,序列中的每个元素都有相同的数据类型。 一个 slice 类型
- python编写计算器,供大家参考,具体内容如下(1)计算器界面如下:(2)基本满足了计算器的所有需求,使用时不可键盘输入,只能鼠标点击左键
- HTML5 是近十年来 Web 标准最巨大的飞跃。和以前的版本不同,HTML 5 并非仅仅用来表示 Web 内容,它的使命是将 W
- 在MySQL数据库中导出整个数据库:1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldu
- 这篇文章将介绍在Python中使用 "frozenset "函数的指南,该函数返回一个新的frozenset类型的Pyt
- 这里要注意的是js的时间戳是13位,php的时间戳是10位,转换函数如下: var nowtime = (new Date).getTime
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- PIL(Python Imaging Library)是Python中一个强大的图像处理库,但目前其只支持到Python2.7pillow是
- '================================================ '
- # -*- coding: utf-8 -*-import Image,ImageDraw,ImageFontimport randomim
- 1、实现 __getitem__(self)class Library(object): def __init__(self):
- 现在有一个xml,格式如下: <date> <item> <id> 1 </id> <
- 在风起云涌的互联网浪潮中,产品迭代的速度越来越快。随着用户需求的激增,也不断带来了对设计师能力要求的提高。初入交互设计领域几年来,明显发现可
- HTML5,被传为Flash 的杀手,是一种用于web 应用程序开发、具有变革意义的网络技术。HTML 5提供了一些新的元素和属性,其中有些