
A.6
ソートについてさらに詳しく
513
ていくと、この本のカバーする範囲を超えてしまいます。ただ、いつか必要になったときにそのような
使い方ができるということを思い出してみてください。
A.6
ソートについてさらに詳しく
ndarray
のインスタンスメソッド
sort
はインプレースのソート
*
1
、つまり新たな配列を作らずに配列内
部で要素を入れ替えるソートです。これは
Python
組み込みのリストと同様です。
In [160]: arr = np.random.randn(6)
In [161]: arr.sort()
In [162]: arr
Out[162]: array([-1.082 , 0.3759, 0.8014, 1.1397, 1.2888, 1.8413])
インプレースのソートなので、ソート対象が他の
ndarray
のビューである場合、もともとの配列も変
更されることを覚えておいてください
。
In [163]: arr = np.random.randn(3, 5)
In [164]: arr
Out[164]:
array([[-0.3318, -1.4711, 0.8705, -0.0847, -1.1329],
[-1.0111, -0.3436, 2.1714, 0.1234, -0.0189],
[ 0.1773, 0.7424, 0.8548, 1.038 , -0.329 ]])
In [165]: arr[:, 0].sort() # 1
つ目の列をインプレースでソート
In [166]: ...