Numpy 配列を列でソートする方法 (例あり)


次のメソッドを使用して、NumPy 配列の行を列の値で並べ替えることができます。

方法 1: 列の値で昇順に並べ替える

 x_sorted_asc = x[x[:, 1]. argsort ()]

方法 2: 列値の降順で並べ替える

 x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]

次の例は、各メソッドを実際に使用する方法を示しています。

例 1: Numpy 配列を列値で昇順に並べ替える

次の NumPy 配列があるとします。

 import numpy as np

#create array
x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3)

#view array
print (x)

[[14 12 8]
 [10 5 7]
 [11 9 2]]

次のコードを使用すると、2 列目の値に基づいて NumPy テーブルの行を昇順で並べ替えることができます。

 #define new matrix with rows sorted in ascending order by values in second column
x_sorted_asc = x[x[:, 1]. argsort ()]

#view sorted matrix
print (x_sorted_asc)

[[10 5 7]
 [11 9 2]
 [14 12 8]]

行は 2 列目の値に基づいて昇順 (最小から最大) に並べ替えられることに注意してください。

例 2: Numpy 配列を列値の降順で並べ替える

次の NumPy 配列があるとします。

 import numpy as np

#create array
x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3)

#view array
print (x)

[[14 12 8]
 [10 5 7]
 [11 9 2]]

次のコードを使用すると、2 列目の値に基づいて NumPy テーブルの行を降順で並べ替えることができます。

 #define new matrix with rows sorted in descending order by values in second column
x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]

#view sorted matrix
print (x_sorted_desc)

[[14 12 8]
 [11 9 2]
 [10 5 7]]

行は 2 列目の値に基づいて降順 (最大から最小へ) に並べ替えられることに注意してください。

追加リソース

次のチュートリアルでは、Python で他の一般的な操作を実行する方法について説明します。

NumPy配列の値インデックスを見つける方法
NumPy配列から特定の列を取得する方法
NumPy配列に列を追加する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です