OpenCV関連

任意の列で昇順又は降順の並び替え

import numpy as np

#例
x = np.array([[ 1, -3],
              [ 9,  3],
              [ 7, -6],
              [ 1, -5],
              [ 4,  8]])
i = 0
j = 1

#i列目で昇順ソート
asc_x = x[np.argsort(x[:,i])]

#j列目で降順ソート
des_x = x[np.argsort(x[:,j])][::-1]

#例 出力
print("0列目で昇順ソート\nasc_x=\n",asc_x)
print("1列目で降順ソート\ndes_x=\n",des_x)

出力結果

0列目で昇順ソート
asc_x=
 [[ 1 -3]
 [ 1 -5]
 [ 4  8]
 [ 7 -6]
 [ 9  3]]
1列目で降順ソート
des_x=
 [[ 4  8]
 [ 9  3]
 [ 1 -3]
 [ 1 -5]
 [ 7 -6]]

参考文献 NumPy>numpy.argsort