84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
다음 배열을 첫 번째 열의 내림차순으로 정렬하는 방법:
인터넷의 다른 곳에서는 direct dl1.sort()가 기본적으로 첫 번째 열을 기준으로 정렬한다고 하는데 작동하지 않는 것 같습니다
sorted(dl1, key=lambda x: x[0])
>>> a=np.array([[ 0.02598003,1.], [ 0.00730082,2.], [ 0.05471569,3.], [ 0.02599167,4.], [ 0.0544947 ,5.], [ 0.00753346,6.]]) >>> a.sort(0) >>> a array([[ 0.00730082, 1. ], [ 0.00753346, 2. ], [ 0.02598003, 3. ], [ 0.02599167, 4. ], [ 0.0544947 , 5. ], [ 0.05471569, 6. ]]) >>>
np.sort 是把各维分别排序的
如果你是要二维组的联合排序,要用np.argsort方法
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. ]]) >>>
如果数据很多的话,用python内部的sorted会降低效率
sorted
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]]
dl1.sort(axis=0)
ndarray.sort的关键字参数axis就是用来按照某列排序
ndarray.sort
axis
axis : int, optional Axis along which to sort. Default is -1, which means sort along the last axis.
axis : int, optional
Axis along which to sort. Default is -1, which means sort along the last axis.
np.sort 是把各维分别排序的
如果你是要二维组的联合排序,要用
np.argsort
方法如果数据很多的话,用python内部的
sorted
会降低效率ndarray.sort
的关键字参数axis
就是用来按照某列排序