python 實(shí)現(xiàn)多維數(shù)組(array)排序
關(guān)于多維數(shù)組如何復(fù)合排序
如數(shù)組:
>>> 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]])
將數(shù)組先按照第一列升序,第二列升序,第三列升序的方式排序:
>>> 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]])
然后將數(shù)組按照第一列降序,第二列升序,第三列升序的方式排序:
>>> 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]])
補(bǔ)充拓展:python:對(duì)多維數(shù)組的降序排列
在python中,遺憾的一點(diǎn)是沒有對(duì)多維數(shù)組按照指定維度進(jìn)行降序排列的方法。
但是,有對(duì)一維數(shù)組的降序排列,這就足夠了!
# Author: Right.Q # 實(shí)現(xiàn)多維矩陣的逆序排列 def descend_sort(array): '''對(duì)三維數(shù)組倒序排列''' [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
形參是指定的三維數(shù)組,如果更多維的話,自動(dòng)識(shí)別維度即可。
以上這篇python 實(shí)現(xiàn)多維數(shù)組(array)排序就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python開發(fā)游戲自動(dòng)化后臺(tái)腳本的實(shí)現(xiàn)
本文主要介紹了Python開發(fā)游戲自動(dòng)化后臺(tái)腳本的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
你知道嗎實(shí)現(xiàn)炫酷可視化只要1行python代碼
這篇文章主要給大家介紹了關(guān)于利用Python進(jìn)行數(shù)據(jù)可視化常見的9種方法!文中介紹的方法真的超實(shí)用!對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08
基于SpringBoot構(gòu)造器注入循環(huán)依賴及解決方式
這篇文章主要介紹了基于SpringBoot構(gòu)造器注入循環(huán)依賴及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04
基于python批量處理dat文件及科學(xué)計(jì)算方法詳解
今天小編就為大家分享一篇基于python批量處理dat文件及科學(xué)計(jì)算方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python使用property完成數(shù)據(jù)隱藏封裝與校驗(yàn)
這篇文章主要為大家詳細(xì)介紹了python使用property完成數(shù)據(jù)隱藏封裝與校驗(yàn),實(shí)現(xiàn)安全修改,文中的示例代碼講解詳細(xì),希望對(duì)大家有所幫助2024-11-11

