どうも、ちょげ(@chogetarou)です。
Numpy配列(Array)を行ごとにソートする方法を紹介します。
方法

昇順
Numpy配列を行ごとに昇順にソートするには、numpyのsort()を使います。
まず、numpy.sort()を呼び出します。
そして、numpy.sort()の第1引数にNumpy配列、引数「axis」に「1」を指定します。
result = numpy.sort(array, axis=1)
上記のnumpy.sort()は、第1引数のNumpy配列を行ごとに昇順にソートしたnumpy配列を生成します。
使用例
import numpy as np
nums = np.array([[14, 17, 12],
[15, 6, 27],
[23, 2, 54]] )
numbers = np.array([3, 5, 1, 2, 4])
result = np.sort(nums, axis=1)
print(result)
#[[12 14 17]
# [ 6 15 27]
# [ 2 23 54]]
降順
Numpy配列を行ごとに降順にソートするには、numpyのsort()と「-」を使います。
まず、先頭に「-」を付けたnumpy.sort()を呼び出します。
そして、numpy.sort()の第1引数に「-」を付けたNumpy配列、引数「axis」に「1」を指定します。
result = -np.sort(-array, axis=1)
上記のnumpy.sort()は、第1引数のNumpy配列を行ごとに降順にソートしたnumpy配列を生成します。
使用例
import numpy as np
nums = np.array([[14, 17, 12],
[15, 6, 27],
[23, 2, 54]] )
result = -np.sort(-nums, axis=1)
print(result)
#[[17 14 12]
# [27 15 6]
# [54 23 2]]
まとめ
Numpyを行ごとに昇順にソートするには、numpy.sort()を使います。
Numpyを行ごとに降順にソートするには、numpy.sort()に加えて、「-」を使います。
コメント