[Python]Numpy配列(Array)を行ごとにソートするには?

python

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

Numpy配列(Array)を行ごとにソートする方法を紹介します。

スポンサーリンク

方法

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

昇順

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

コメント

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