np.stackについて例題でわかりやすく解説

プログラミング
スポンサーリンク

np.stack(numpy.stack)が何をするコードなのか、わかりやすく例題を踏まえて簡単に解説することを目指します。

スポンサーリンク

例題1

2つのlistを用意して、結合させます。

import  numpy as np

a=[[1,2,3],[4,5,6]]
b=[[7,8,9],[10,11,12]]

c=np.stack([a,b])
print(c)

こちらを実行すると以下が出力されます。

つまり、a,bのリストをnp.stack()内で新しくリストとして[]内に書いたことで、新たな次元を作って結合しています。

スポンサーリンク

例題2

今度は、より詳細な設定をした場合の例になります。

先ほどと同様、listを二つ用意するところは同じです。

違う点として、np.stack()内の[a,b]の後に,1を加えます。

import  numpy as np

a=[[1,2,3],[4,5,6]]
b=[[7,8,9],[10,11,12]]

d=np.stack([a,b],1)
print(d)

こちらを実行すると以下が出力されます。

例題1と違った結果になっていることがわかります。

これは、np.stack()内の[a,b]の後に,1を加えたことで、第二引数がaxis=1となります。

デフォルトはaxis=0で、最終的な配列の0次元目に沿って結合されます。

第二引数がaxis=1となったことで、最終的な配列の1次元目に沿って結合されます。

存在しない引数を指定するとエラーになるので注意しましょう。

まとめ

np.stack()は、配列同士を結合させる関数。

引数を指定することで、結合する形を変えることができる。