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 で他の一般的な操作を実行する方法について説明します。