関数ndarray.sortの使い方の例

関数の機能:配列の要素を昇順に並べ替える

例1 : 1次元の配列の場合

>>> a = np.array([3, 1, 6, 5, 2])
>>> a.sort()
>>> a
array([1, 2, 3, 5, 6])

例2 : 2次元の配列の場合

>>> a = np.array([[7, 1, 6],
	          [4, 2, 3]])
>>> a.sort(axis=0)
>>> a
array([[4, 1, 3],
       [7, 2, 6]])
>>> a = np.array([[7, 1, 6],
	          [4, 2, 3]])
>>> a.sort(axis=1)
>>> a
array([[1, 6, 7],
       [2, 3, 4]])

例3 : 構造化された配列の場合

>>> dtype = [('index', int), ('x', float), ('y', float)]
>>> v = [(0, 5.8, 3.6),
         (1, 7.5, 2.9),
         (2, 2.7, 9.7),
         (3, 5.8, 2.4),
         (4, 1.3, 9.7)]
>>> a = np.array(v, dtype=dtype)
>>> a.sort(order='y')
>>> a
array([(3, 5.8, 2.4),
       (1, 7.5, 2.9),
       (0, 5.8, 3.6),
       (2, 2.7, 9.7),
      (4, 1.3, 9.7)],
    dtype=[('index', '<i8'), ('x', '<f8'), ('y', '<f8')])
上の例では、'index','x','y'の3つの数値が1組になったものを、'y'の値で並べ替えています。
優先順位'x','y'の順に並べ替えたいなら、下記のように書きます。
>>> a.sort(order=['x','y'])
>>> a
array([(4, 1.3, 9.7),
       (2, 2.7, 9.7),
       (3, 5.8, 2.4),
       (0, 5.8, 3.6),
       (1, 7.5, 2.9)],
    dtype=[('index', '<i8'), ('x', '<f8'), ('y', '<f8')])
関連項目
関数ndarray.argsortの使い方の例
関数ndarray.searchsortedの使い方の例