2,001 views
この記事は最終更新から 1816日 が経過しています。
5行3列の乱数配列aを作成する。
>>> import numpy as np >>> a = np.random.rand(5,3) >>> a array([[ 0.55096361, 0.12996364, 0.37222312], [ 0.74124504, 0.37193397, 0.13887862], [ 0.41474143, 0.23832064, 0.9245167 ], [ 0.41874493, 0.23164232, 0.10248007], [ 0.62351702, 0.2568594 , 0.86498964]])
aを列方向(axis=1)でソートした配列bを作成する。
>>> b = np.sort(a, axis=1)
>>> b
array([[ 0.12996364, 0.37222312, 0.55096361],
[ 0.13887862, 0.37193397, 0.74124504],
[ 0.23832064, 0.41474143, 0.9245167 ],
[ 0.10248007, 0.23164232, 0.41874493],
[ 0.2568594 , 0.62351702, 0.86498964]])
引数axisを指定しない場合、列方向のソートになるようだ。
>>> c = np.sort(a)
>>> c
array([[ 0.12996364, 0.37222312, 0.55096361],
[ 0.13887862, 0.37193397, 0.74124504],
[ 0.23832064, 0.41474143, 0.9245167 ],
[ 0.10248007, 0.23164232, 0.41874493],
[ 0.2568594 , 0.62351702, 0.86498964]])
>>> b-c
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])
aを行方向(axis=0)でソートした配列dを作成する。
>>> d = np.sort(a, axis=0)
>>> d
array([[ 0.41474143, 0.12996364, 0.10248007],
[ 0.41874493, 0.23164232, 0.13887862],
[ 0.55096361, 0.23832064, 0.37222312],
[ 0.62351702, 0.2568594 , 0.86498964],
[ 0.74124504, 0.37193397, 0.9245167 ]])
配列オブジェクトのメソッドとして実行することもできる。
>>> a.sort(axis=0)
>>> d-a
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])