久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python3.x - python中有沒有直接對多維數(shù)組排序的方法?

瀏覽:182日期:2022-07-14 09:42:15

問題描述

如何按第一列的降序排列如下數(shù)組:

dl1 = numpy.array([[ 0.02598003,1.], [ 0.00730082,2.], [ 0.05471569,3.], [ 0.02599167,4.], [ 0.0544947 ,5.], [ 0.00753346,6.]])

網(wǎng)上其他地方說直接dl1.sort()會默認(rèn)按第一列排序,但好像不行

問題解答

回答1:

sorted(dl1, key=lambda x: x[0])回答2:

>>> a=np.array([[ 0.02598003,1.], [ 0.00730082,2.], [ 0.05471569,3.], [ 0.02599167,4.], [ 0.0544947 ,5.], [ 0.00753346,6.]])>>> a.sort(0)>>> aarray([[ 0.00730082, 1.], [ 0.00753346, 2.], [ 0.02598003, 3.], [ 0.02599167, 4.], [ 0.0544947 , 5.], [ 0.05471569, 6.]])>>>

np.sort 是把各維分別排序的

如果你是要二維組的聯(lián)合排序,要用np.argsort方法

>>> a=np.array([[ 0.02598003,1.], [ 0.00730082,2.], [ 0.05471569,3.], [ 0.02599167,4.], [ 0.0544947 ,5.], [ 0.00753346,6.]])>>> a[a.argsort(0)[:,0]]array([[ 0.00730082, 2.], [ 0.00753346, 6.], [ 0.02598003, 1.], [ 0.02599167, 4.], [ 0.0544947 , 5.], [ 0.05471569, 3.]])>>>

如果數(shù)據(jù)很多的話,用python內(nèi)部的 sorted會降低效率

回答3:

In [1]: lst= [[0.00730082, 2.0], ...: [0.05471569, 3.0], ...: [0.02599167, 4.0], ...: [0.0544947, 5.0], ...: [0.00753346, 6.0]] ...:In [2]: sorted(lst, key=lambda x: x[0])Out[2]:[[0.00730082, 2.0], [0.00753346, 6.0], [0.02599167, 4.0], [0.0544947, 5.0], [0.05471569, 3.0]]回答4:

dl1.sort(axis=0)

ndarray.sort的關(guān)鍵字參數(shù)axis就是用來按照某列排序

axis : int, optional

Axis along which to sort. Default is -1, which means sort along the last axis.

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 安图县| 太保市| 德安县| 邯郸县| 长沙县| 禹城市| 兰西县| 巧家县| 元谋县| 大田县| 乌海市| 自治县| 汝阳县| 台北市| 垫江县| 罗城| 明溪县| 桂平市| 门源| 交城县| 三亚市| 广河县| 商河县| 仁寿县| 温州市| 龙口市| 淅川县| 天等县| 峨眉山市| 苗栗县| 兴海县| 电白县| 平顶山市| 洛宁县| 宾阳县| 通海县| 南陵县| 台南县| 墨江| 锡林郭勒盟| 土默特右旗|