どうも、ちょげ(@chogetarou)です。
Numpy配列(Array)を縦の列(カラム)ごとにソートする方法を紹介します。
方法
昇順
Numpy配列を縦の列ごとに昇順にソートするには、numpyのsort()を使います。
まず、numpy.sort()を呼び出します。
そして、numpy.sort()の第1引数にNumpy配列、引数「axis」に「0」を指定します。
result = numpy.sort(array, axis=0)
上記の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=0)
print(result)
#[[14 2 12]
# [15 6 27]
# [23 17 54]]
降順
Numpy配列を縦の列(カラム)ごとに降順にソートするには、numpyのsort()と「-」を使います。
まず、先頭に「-」を付けたnumpy.sort()を呼び出します。
そして、numpy.sort()の第1引数に「-」を付けたNumpy配列、引数「axis」に「0」を指定します。
result = -np.sort(-array, axis=0)
上記の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=0)
print(result)
#[[23 17 54]
# [15 6 27]
# [14 2 12]]
まとめ
Numpyを縦の列(カラム)ごとに昇順にソートするには、numpy.sort()を使います。
Numpyを縦の列(カラム)ごとに降順にソートするには、numpy.sort()に加えて、「-」を使います。
コメント