「NumPy」sortメソッドで二次元配列の行、列に対して降順にするサンプル

環境
PyCharm 2021.3
Python 3.9.7

構文
変数名 = np.array([[要素1,要素2,xxx
二次元配列の場合はaxis=0で列に対してソート、axis=1で行に対してソートされます。
二次元配列の要素を降順にしたい場合は、各軸に対してスライス[::-1]を使います。
[::-1]は[::-1, :]と等価です。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import numpy as np
cft = np.array([[22, 33, 11], [15, 28, 35], [35, 45, 76]])
print("二次元配列の要素")
print(cft)
print("axis=0で列に対して降順する結果")
sortcol = np.sort(cft, axis=0)[::-1]
print(sortcol)
print("axis=1で行に対して降順する結果")
sortrow = np.sort(cft, axis=1)[:, ::-1]
print(sortrow)
import numpy as np cft = np.array([[22, 33, 11], [15, 28, 35], [35, 45, 76]]) print("二次元配列の要素") print(cft) print("axis=0で列に対して降順する結果") sortcol = np.sort(cft, axis=0)[::-1] print(sortcol) print("axis=1で行に対して降順する結果") sortrow = np.sort(cft, axis=1)[:, ::-1] print(sortrow)
import numpy as np

cft = np.array([[22, 33, 11], [15, 28, 35], [35, 45, 76]])
print("二次元配列の要素")
print(cft)

print("axis=0で列に対して降順する結果")
sortcol = np.sort(cft, axis=0)[::-1]
print(sortcol)

print("axis=1で行に対して降順する結果")
sortrow = np.sort(cft, axis=1)[:, ::-1]
print(sortrow)

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
二次元配列の要素
[[ 22 33 100]
[ 15 200 30]
[345 15 26]]
axis=0で列に対して降順する結果
[[345 200 100]
[ 22 33 30]
[ 15 15 26]]
axis=1で行に対して降順する結果
[[100 33 22]
[200 30 15]
[345 26 15]]
二次元配列の要素 [[ 22 33 100] [ 15 200 30] [345 15 26]] axis=0で列に対して降順する結果 [[345 200 100] [ 22 33 30] [ 15 15 26]] axis=1で行に対して降順する結果 [[100 33 22] [200 30 15] [345 26 15]]
二次元配列の要素
[[ 22  33 100]
 [ 15 200  30]
 [345  15  26]]
axis=0で列に対して降順する結果
[[345 200 100]
 [ 22  33  30]
 [ 15  15  26]]
axis=1で行に対して降順する結果
[[100  33  22]
 [200  30  15]
 [345  26  15]]

 

NumPy

Posted by arkgame