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()は、配列同士を結合させる関数。
引数を指定することで、結合する形を変えることができる。