2

私はnumpyのためにMatLabを離れていますが、一般的にはうまくいっていますが、MatLabでこれを行っていたであろうことを行うための素晴らしいpythonicの方法を見つけるという悪夢に見舞われています:

A=[1.0;2.0;3.0;4.0] %Column vector
B=[5.0;6.0;7.0;8.0] %Another one
C=[A,B,B] %4 x 3 matrix

Python では、次のように A を設定します。

A=np.array([1,2,3,4])
B=np.array([5,6,7,8])

そして次のように連結します:

C=np.concatenate((A,B,B),axis=1)

それらを重ねてスタックし、_C、hstack なども同様に失敗します。(4,) numpy 配列を (4,1) 配列に変換する素晴らしい Python の方法が必要だと思います。私のコードでは、これらのベクトルはこれよりもはるかに大きく、動的に作成されるため、次のように入力することはできません。

A=np.array([[1],[2],[3],[4]])

助けてくれてありがとう!

4

3 に答える 3

0
>>> C=np.array([A,B,B])
>>> C
array([[1, 2, 3, 4],
       [5, 6, 7, 8],
       [5, 6, 7, 8]])

また:

>>> C=np.array([A,B,B]).swapaxes(1,0)
>>> C
array([[1, 5, 5],
       [2, 6, 6],
       [3, 7, 7],
       [4, 8, 8]])
于 2013-10-29T10:38:07.960 に答える