[NumPy] 4. 配列の連結と分割

NumPy

1次元配列の連結

データの生成

np.concatenateによる配列の連結

np.concatenateで連結したい配列a,bを[a,b]のようにすることで一つの配列にすることができる。以下のように、2つ以上の配列の連結も可能である。

maskした配列のnp.ma.concatenateによる連結

マスクした配列をnp.concatenateで連結するとマスクが解除されてしまう。マスクを保持したまま連結するには、np.ma.concatenateを用いる。

2次元配列の連結

データの生成

2次元配列の連結

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

連結する軸の変更

axis=1とすることで、連結する方向を列方向に変えることができる。

np.vstackによる連結

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

np.hstackによる連結

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

1次元配列の分割

データの生成

splitによる分割

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

2次元配列の分割

データの生成

np.vsplitによる分割

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

np.hsplitによる分割

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

コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)

参考

numpy.concatenate — NumPy v1.17 Manual
numpy.hstack — NumPy v1.17 Manual
numpy.vstack — NumPy v1.17 Manual
numpy.hsplit — NumPy v1.17 Manual
numpy.vsplit — NumPy v1.17 Manual

コメント