日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...

發布時間:2023/12/3 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了Python實現二維數組按照某行或列排序的方法。分享給大家供大家參考,具體如下:

lexsort支持對數組按指定行或列的順序排序;是間接排序,lexsort不修改原數組,返回索引。

(對應lexsort 一維數組的是argsort a.argsort()這么使用就可以;argsort也不修改原數組, 返回索引)

默認按最后一行元素有小到大排序, 返回最后一行元素排序后索引所在位置。

設數組a, 返回的索引ind,ind返回的是一維數組

對于一維數組, a[ind]就是排序后的數組。

對于二維數組下面會詳細舉例。

import numpy as np

>>> a

array([[ 2, 7, 4, 2],

[35, 9, 1, 5],

[22, 12, 3, 2]])

按最后一列順序排序

>>> a[np.lexsort(a.T)]

array([[22, 12, 3, 2],

[ 2, 7, 4, 2],

[35, 9, 1, 5]])

按最后一列逆序排序

>>>a[np.lexsort(-a.T)]

array([[35, 9, 1, 5],

[ 2, 7, 4, 2],

[22, 12, 3, 2]])

按第一列順序排序

>>> a[np.lexsort(a[:,::-1].T)]

array([[ 2, 7, 4, 2],

[22, 12, 3, 2],

[35, 9, 1, 5]])

按最后一行順序排序

>>> a.T[np.lexsort(a)].T

array([[ 2, 4, 7, 2],

[ 5, 1, 9, 35],

[ 2, 3, 12, 22]])

按第一行順序排序

>>> a.T[np.lexsort(a[::-1,:])].T

array([[ 2, 2, 4, 7],

[ 5, 35, 1, 9],

[ 2, 22, 3, 12]])

希望本文所述對大家Python程序設計有所幫助。

如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!

總結

以上是生活随笔為你收集整理的python二维数组排序_Python实现二维数组按照某行或列排序的方法【numpy lexsort】...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。