[NumPyの使い方] 3.配列の形状変換、連結、分割

NumPy
スポンサーリンク

NumPyによる配列の形状変換、連結、分割

形状変換

データの生成

np.linspaceは(開始点、終了点、要素数)な配列が得られるので、(0,5,6)の場合、上記のようになる。

reshapeによる変換

reshapeで任意の形状に変換できる。ここでは、3行2列の形状に変換した。もとの形状から変えられる形状以外はエラーになるので、(3,3)とかにはできない。

行ベクトル

reshapeで配列をベクトルに変換できる。reshape((1,6))で行ベクトルが得られる。

列ベクトル

reshape((6,1))で列べクトルが得られる。

np.newaxisによるベクトルへの変換

行ベクトル

np.newaxisで配列に新しい次元を追加することができる。上記のreshapeで(1,6) としたときと同じベクトルが得られる。

列ベクトル

上記のreshapeで(6,1) としたときと同じベクトルが得られる。

配列の連結

データの生成

a,bはそれぞれ、以下のようになる。

cは

dは

np.concatenateによる配列の連結

np.concatenateで配列を連結して一つの配列にできる。2つ以上の配列の連結も可能。

2次元配列の連結

2次元配列も1次元配列と同様に連結できる。

連結する軸の変更

axis=1とすることで、連結する部分を変えることができる。

np.vstackによる連結

np.vstackは垂直方向に配列を連結できる。

np.hstackによる連結

np.hstackは、配列を水平方向に連結することができ、np.concatenateでaxis=1としたときと同じ結果が得られる。

配列の分割

データの生成

xは、

yは

splitによる分割

np.split(x,[3,7])は配列を3個目と7個目で分割するという意味。
そのたえため、返り値としては、x1,x2,x3の3個の配列が返ってくる。

np.vsplitによる分割

vsplitは垂直方向で分離するので、np.vsplit(y,[2])でyの2行目で分離される。

np.hsplitによる分割

hsplitは水平方向で分離するので、np.hsplit(y,[1])でyの1列目で分離される。

参考

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

コメント