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]])>>>> dataarray([[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_dataarray([[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_dataarray([[3, 1, 4], [2, 1, 3], [2, 2, 5], [1, 2, 3]])
補(bǔ)充拓展:python:對(duì)多維數(shù)組的降序排列
在python中,遺憾的一點(diǎn)是沒(méi)有對(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ù)組,如果更多維的話(huà),自動(dòng)識(shí)別維度即可。
以上這篇python 實(shí)現(xiàn)多維數(shù)組(array)排序就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. moment轉(zhuǎn)化時(shí)間戳出現(xiàn)Invalid Date的問(wèn)題及解決2. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊3. 如何在jsp界面中插入圖片4. HTML 絕對(duì)路徑與相對(duì)路徑概念詳細(xì)5. 詳解盒子端CSS動(dòng)畫(huà)性能提升6. WML的簡(jiǎn)單例子及編輯、測(cè)試方法第1/2頁(yè)7. .NET6打包部署到Windows Service的全過(guò)程8. asp批量添加修改刪除操作示例代碼9. ajax請(qǐng)求后臺(tái)得到j(luò)son數(shù)據(jù)后動(dòng)態(tài)生成樹(shù)形下拉框的方法10. 解決ajax請(qǐng)求后臺(tái),有時(shí)收不到返回值的問(wèn)題
