Pythonで配列を任意の方向に結合する方法です。
使用するのはPythonのnumpyライブラリのblock関数です。
import numpy as np
このような2次元配列を使用します。
a = np.array([[1, 2], [3, 4]])
a
まず、block関数を使用して、配列aどうしを結合してみましょう。
引数に結合したい配列をリストで指定します。
最初に、配列aを横に並べたリストを指定してみましょう。
実行します。
np.block([a, a])
配列aどうしを横方向に結合できました。
次は配列aを縦に並べた2次元のリストを指定してみましょう。
実行します。
np.block([[a], [a]])
配列aどうしを縦方向に結合できました。
更に、配列aを3次元方向に並べた、3次元のリストを指定してみましょう。
実行します。
np.block([[[a]], [[a]]])
配列aどうしを3次元方向に結合できました。
このように、指定するリストを入れ子にすることで、直感的に結合する方向を指定できます。
最後に、一度に複数の方向に結合してみましょう。
配列aを縦と横に2つずつ並べたリストを指定します。
実行します。
np.block([[a, a], [a, a]])
配列aを縦と横の2つの方向に同時に結合できました。
配列を結合する関数はいろいろありますが、block関数を使用すると、一度に複数の配列を任意の方向に結合することができます。
関連メソッド
【毎日Python】Pythonで配列を横方向に結合する方法|numpy.hstack