python numpy行列スタック例
1159 ワード
実際の操作では、マトリックススタックの操作に出会いました。自分で関数を書きたいと思っていましたが、ライブラリ関数があるべきだと思い、しばらく探しました。
関数stack()はパラメータがあります。axisは積み重ねられた次元を設定できます。デフォルトは0です。実はvstack()と同じ効果です。1に設定した場合、次のようになります。
では、hstackの効果はstackで実現できますか?私はここでは探していません。知っている子供靴の指導を歓迎します。でも、hstackの効果は実はconcatentateと同じです。
import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])
np.stack((a,b)) #
:
array([[1, 2, 3],
[4, 5, 6]])
np.vstack((a, b))
:
array([[1, 2, 3],
[4, 5, 6]])
np.hstack((a, b))
:
array([1, 2, 3, 4, 5, 6])
上のコードを簡単に説明します。主に関数です。stack()は、この関数には様々な積み重ねが含まれています。上の例は二次元マトリックスに対してのものです。実は、ほとんどの場合の操作は二次元マトリックスに対して行われています。便利さのために、二つの関数vstackを垂直に積み重ねています。hstack()は水平スタックを行います。関数stack()はパラメータがあります。axisは積み重ねられた次元を設定できます。デフォルトは0です。実はvstack()と同じ効果です。1に設定した場合、次のようになります。
np.stack((a,b),axis=1)
:
array([[1, 4],
[2, 5],
[3, 6]])
効果から見ると、元のaの二次元に相当します。つまり列の一列ずつ取り出して、行ごとに一つのマトリックスにつづり合わせます。では、hstackの効果はstackで実現できますか?私はここでは探していません。知っている子供靴の指導を歓迎します。でも、hstackの効果は実はconcatentateと同じです。
np.concatenate((a,b))
:
array([1, 2, 3, 4, 5, 6])
以上のpython numpy行列の積み重ねの例は、小編集が皆さんに提供した内容の全部です。参考にしていただければと思います。よろしくお願いします。