[NumPyの使い方] 13. 配列のソートと分割

NumPy
スポンサーリンク

NumPyによる配列のソートと分割

1次元配列のソート

配列のソート

1次元配列Xに対して、np.sort(X)でソートされた配列が得られる。

配列自体をソートした状態にしたい場合は、X.sort()とする。
逆順にソートしたい場合は普通にソートした配列に対して[::-1]とすれば良い。

[NumPyの使い方] 1.配列のスライス
NumPyによる配列の抽出

ソートした配列のインデックス

np.argsort()でソートした配列のインデックスを得ることができる。
もとの配列にnp.argsortで得たインデックスを適用するとソートされた配列が得られる。

2次元配列のソート

データの生成

np.random.randint(0,10,(5,5))で0〜9の整数をもつ5×5の2次元配列が得られる。

列方向にソート

axis=0とすることで列方向にソートできる。

行方向にソート

axis=1とすることで行方向にソートできる。

配列の分割

1次元配列の分割

np.partition(X,2)によって、Xの配列の要素の内、小さい要素2つが、配列の左側に配置される。
つまり、2個の小さい要素と、その他の要素に分けられる。

小さい要素内部、その他の要素内部の順は任意の順となる。

2次元配列の分割

np.sortのときと同様に、axis=0で列方向、axis=1で行方向にnp.partitionが適用される。

参考

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

コメント