
124
4
章
NumPy
の基礎:配列とベクトル演算
In [202]: arr
Out[202]:
array([[-0.2555, 0.6033, 1.2636],
[-0.9616, -0.4457, 0.4684],
[-1.8245, 0.6254, 1.0229],
[-0.3501, 0.0909, 1.1074],
[-1.7415, -0.8948, 0.218 ]])
ここで
sort
関数の種類について触れておきます。上記の例で見てきたのは、
np.ndarray.sort
関数
でした。これとは別に
np.sort
関数も提供されており、こちらはソート済み配列をコピーとして返しま
す。さて、ソートの別の例を見てみましょう。ある
ndarray
の
5
パーセンタイル分位点を求めることを
考えます。これを実現するのに安直な方法は、ソートしてから
5
パーセントに当たる要素の値を得ると
いうもので
す。
In [203]: large_arr = np.random.randn(1000)
In [204]: large_arr.sort()
In [205]: large_arr[int(0.05 * len(large_arr))] # 5%
分位点
Out[205]: -1.5311513550102103
NumPy
のソートについて、
argsort
などインデックスを戻すテクニックを含めた高度な話題について
は「付録A NumPy:応用編」で後述します。また
pandas
についての説明の中でも、データ表の