【こつこつPython】Pythonで配列を任意の方向に結合する方法|numpy.block

blockサムネイル
こつこつPython

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

【毎日Python】Pythonで配列を縦方向に結合する方法|numpy.vstack

【こつこつPython】Pythonで配列を新たな次元で結合する方法|numpy.stack

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト