[Python]Numpy配列(Array)を縦の列(カラム)ごとにソートするには?

python

どうも、ちょげ(@chogetarou)です。

Numpy配列(Array)を縦の列(カラム)ごとにソートする方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

昇順

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()に加えて、「-」を使います。

コメント

タイトルとURLをコピーしました